[過去ログ] + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
133
(1): デフォルトの名無しさん [sage] 2016/09/01(木) 20:34:43.59 ID:scPPFiSF(1/11) AAS
>>125
125(3): ◆SEdFBOkLSw [sage] 2016/09/01(木) 11:24:18.20 ID:4NaaelJA(1) AAS
>>123
わかってるって(笑)
専用の文法とも、専用の言語とも言ってないだろ。

ただ、babelで使うために書いたのであれば、
FireFoxで使うために書いたコードがFireFox向けに書いたコードであるのと同様に
babelで使うために書いたコードは、babel向けに書いたコードであって、ネイティブなFireFoxの為に書いたコードとは意味合いが違うって言ってんじゃん。
webpackも同じ。

専用では無いよ、babelの為に書いたコードだってば。
そういう意味で、ほかのaltJS用のコンパイラに対して書いた言語と「立ち位置」が同じなの。
> babelで使うために書いたコードは、babel向けに書いたコードであって、ネイティブなFireFoxの為に書いたコードとは意味合いが違うって言ってんじゃん。

これがbabelで使うために書いたコード

 let func = () => console.log('hello');

これがネイティブなFirefoxのために書いたコード

 let func = () => console.log('hello');

何が違うのか教えてほしい。
134: デフォルトの名無しさん [sage] 2016/09/01(木) 21:48:08.46 ID:scPPFiSF(2/11) AAS
意味合いが違うとは言ってるが
どう違うかは何も言ってない。
136
(1): デフォルトの名無しさん [sage] 2016/09/01(木) 22:05:27.31 ID:scPPFiSF(3/11) AAS
>>135
135(1): ◆SEdFBOkLSw [sage] 2016/09/01(木) 22:01:56.97 ID:x5Fi8ahc(1/3) AAS
>>126
アホか。

>>127
完全には違わんよ。
多少は足周りは違うな。

>>128
頭おかしいのか?

>>132
違うわ。お前が理解なさすぎ。

>>133
処理系が違う、だな。
babelで処理したJSが実際に動かすのは、下記コードで、ES6ではない。

'use strict';

var func = function func() {
return console.log('hello');
};

匿名関数で無くなってるよね。

これがbabelで変換して出力されたコード
'use strict';

var func = function func() {
return console.log('hello');
};

これがネイティブなFirefoxのために書いたコード
'use strict';

var func = function func() {
return console.log('hello');
};

何が違うのか?
137
(1): デフォルトの名無しさん [sage] 2016/09/01(木) 22:12:28.00 ID:scPPFiSF(4/11) AAS
もしかしてさ、テストを書いてリファクタリングして
よりシンプルに書き直して、以前と全く同じように動くコードなのに、
元のコードとは記述が違うから、そういう修正はするなって言うタイプの人なの?
139: デフォルトの名無しさん [sage] 2016/09/01(木) 22:19:19.19 ID:scPPFiSF(5/11) AAS
>>138
138(3): ◆SEdFBOkLSw [sage] 2016/09/01(木) 22:16:55.85 ID:x5Fi8ahc(2/3) AAS
>>136
それES6じゃないじゃん。正確にはES6でもあり、お前が否定していた古いJavaScriptじゃんww

$msg='hello world';
echo $msg;

が、perlなのかphpなのかは、どっちに食わすかによって決まるんじゃねえの?
何か違うか?見た目も動作も同じだけど、別物だよね。

>>137
手弁当で全部終わらせるんならいいんじゃねーの?
予算使うなら、余計なことすんなって言うけど。
古いJavaScriptだからなの?

babelで変換した結果とFirefoxがネイティブで動かすコードは
全く一緒なのに何が問題なの?って聞いてる。

重要なのは同じように動くこと(仕様を満たしていること)であって
中身の実装なんてどうでもいいでしょw
140: デフォルトの名無しさん [sage] 2016/09/01(木) 22:20:42.89 ID:scPPFiSF(6/11) AAS
>>138
> が、perlなのかphpなのかは、どっちに食わすかによって決まるんじゃねえの?
> 何か違うか?見た目も動作も同じだけど、別物だよね。

どちらもFirefoxに食わせていますよw
babelで動かすんじゃなくて
babelで変換したコードをFirefoxで動かすか、
babelで変換しないコードをFirefoxで動かすかって
話をしてるんだから。
141
(1): デフォルトの名無しさん [sage] 2016/09/01(木) 22:27:03.04 ID:scPPFiSF(7/11) AAS
>>138
お前が何を不安がっているのかわかったわw

前提条件: どちらも同じブラウザFirefoxで動かします。

1. ES6のコードをそのままFirefoxで動かす
(※ES6のコードのテストの結果は当然問題ない)

2. ES6のコードをbabelで変換してESにしたコードをFirefoxで動かす
(※ES5のコードのテストの結果は当然問題ない)

どちらもテストでOKとでてるのに、もしかしたら
バグがあるんじゃないか?って思ってるだろw
144: デフォルトの名無しさん [sage] 2016/09/01(木) 22:46:12.95 ID:scPPFiSF(8/11) AAS
>>142
142(1): デフォルトの名無しさん [sage] 2016/09/01(木) 22:40:53.56 ID:UGSC1Nbq(1) AAS
美しいソースを志すプログラマからしたら自動生成には美学をまるで感じない
男なら黙ってprototype
不便に堪えて手書きでNative JavaScript

という冗談はともかく、納品するスクリプトはクライアントが使うんだから変な書き方も最新の玩具も使わずにネイティブのみで分かりやすくコメント添えながら書くのが普通じゃないのか?
ネイティブかどうかは重要じゃない。

正しく動くことが重要。
そのためにテストをするんだよ。
145: デフォルトの名無しさん [sage] 2016/09/01(木) 22:50:05.31 ID:scPPFiSF(9/11) AAS
>>143
143(1): デフォルトの名無しさん [sage] 2016/09/01(木) 22:40:55.87 ID:Yfa1ihki(1) AAS
babelがたまたま実行結果が読めるというだけで
ブラウザみたいな巨大なブラックボックスと区別する意味がよく分からん
だよね。例えば内部でES6をES5に変換してから
実行するブラウザがあったっておかしくない。

そもそもJavaScriptなんてコンパイルして
バイナリにてから動かしているわけで、
そのバイナリなんてブラウザが違ったら違うだろうし、
同じブラウザでもバージョンアップしたら違う可能性もある。

どういう変換が行われて実行されるかは大した問題じゃない。
仕様通りに動いているかが重要。
147
(1): デフォルトの名無しさん [sage] 2016/09/01(木) 23:15:55.41 ID:scPPFiSF(10/11) AAS
>>146
146(1): ◆SEdFBOkLSw [sage] 2016/09/01(木) 23:09:24.58 ID:x5Fi8ahc(3/3) AAS
>>141
全然わかってねえじゃん。
ん?ってことは、

ES6をbabelで変換してFirefoxで動かすのと
ES6をそのままFirefoxで動かすのは
全く同じだってことでいいかい?

はい か いいえ で答えてくれ。
149
(3): デフォルトの名無しさん [sage] 2016/09/01(木) 23:25:45.46 ID:scPPFiSF(11/11) AAS
>>148
148(1): デフォルトの名無しさん [sage] 2016/09/01(木) 23:21:14.21 ID:uGmloWI1(1) AAS
>>122
細かい話だけど、extendsは古いブラウザでは完全にエミュレートされないよ。
extendsはprototypeだけでなくstaticなメソッドも継承する。
つまり、任意のプロトタイプを持つコンストラクタを作れないと行けないのだけど、
これはES2015以前ではブラウザの独自実装の__proto__を使わないと実現できない。
完全にエミュレートできないことでバグになることはなく、
エミュレートできない機能を使っていればバグになる。
でも、それを含めてテストするわけだからね。
動かないならテストで分かる。

ブラウザ間の互換性がない問題と同じよ。
互換性がない部分があっても、テストで動けば問題ない。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s