16/08/24 23:11:20.15 Hbn6Og0q.net
var obj1 = {
'a': 10,
'b': 20,
};
var obj2 = {
a: 10,
b: 20,
};
上のような文字列としてプロパティ名をつけるのと、
下のような何もつけないプロパティ名では意味が違ったりします?
553:デフォルトの名無しさん
16/08/24 23:14:18.57 YROtPsAw.net
同じ。
だからよりシンプルなクォートでくくらないを使うべき。
554:デフォルトの名無しさん
16/08/24 23:52:54.89 Hbn6Og0q.net
>>545
ありがとうございます
555:デフォルトの名無しさん
16/08/25 00:20:19.15 AN90eZbu.net
>>544
Javascriptのオブジェクトのプロパティ名としては同じ
オブジェクトの名前がJavascriptの名前の付け方に従っているなら
クォートは省略可能になる
ただし、気をつけないとダメなのがJSONオブジェクトのとき
OK→var json_obj = {"a": 10, "b": 20};
NG→var json_obj = {'a': 10, 'b': 20};
NG→var json_obj = {a: 10, b: 20};
JSONオブジェクトのプロパティ名前はクォートの省略禁止
シングルクォート'の使用禁止
ダブルクォート"で絶対に囲むのが正しいやり方。
556:デフォルトの名無しさん
16/08/25 00:22:53.98 BkJ4qeav.net
JavaScriptのソースコード書いているときに
JSON文字列を手書きすることはないんでw
557:デフォルトの名無しさん
16/08/25 00:30:50.65 HLXhtP5B.net
初歩的な質問ですみません
Vector2, Vector3, Quaternion, Matrix3, Matrix4
これらクラスを相互変換するロジックを解説しているサイトなど心当たりございませんか?
558:デフォルトの名無しさん
16/08/25 08:22:05.43 99xpDjOR.net
>>544
予約語で死なない。
delete:'xxxxxx'は使えないし、
for:'xxx'も使えない。
統一感のために全部つけてる。
559:デフォルトの名無しさん
16/08/25 09:38:35.23 BkJ4qeav.net
なぜに統一感が必要なのかがわからないねw
『「見やすい形に」統一する』であれば
それは見やすいようにするのが目的だが、
理由のない『統一する』は害悪でしか無い。
多くは楽をできると言うのに、
一部の例外のために面倒な方法を選ぶのは無駄。
560:デフォルトの名無しさん
16/08/25 12:02:57.36 99xpDjOR.net
>>551
一部の例外のために、その例外に対してクォートしなければならない、
を例外だとすると、
すべてのクォートする、というルールで、例外で無くなるんだよ。
みやすさは副次的なもので、本質的には例外を内包したルールで縛って、例外ではなくすだけ。
たかがワンタイプの為に頭の中で判断する必要と、
将来的な予約語の追加に備える記憶のコストがもったいない。
アホなのか、経験無いのかわからんけど、無闇やたらと反発しても滑稽だよ。
561:デフォルトの名無しさん
16/08/25 14:17:48.31 kFTapBTb.net
何を言ってるんだか……
予約語が使えないとか一体何時の話だよ。江戸時代か?
それとも未だにIE8が闊歩してる並行世界からの書き込みですか?
呆れる。
そんな太古の知識のままじゃJS使いとは名乗れないな。
アホで経験ないのはあんたでしょ。
まあ虐めたいわけではないが、
俺は原則付けない形を推奨するよ。
562:デフォルトの名無しさん
16/08/25 17:41:06.33 wdyS6PKY.net
>>550
必要なのは「統一」であって「統一感」じゃないよ
という話だね
563:デフォルトの名無しさん
16/08/25 18:07:47.14 YSzam+pv.net
>統一感のために全部つけてる。
統一性を持たすために全部つけてる。
564:デフォルトの名無しさん
16/08/25 18:21:17.20 99xpDjOR.net
>>553
あのなぁ。
闊歩してるもなにも、イントラだと普通だよ。
IE8とchrome最新版の両方で動かなならん物を作る羽目にもなる。
その時にだけ脳味噌切り替えるの?
無駄過ぎるでしょ。
よくそれで業務やってるなぁ。
必ずつけて、minifierに任せる方が余程効率的。
>>554
あー、言葉が悪かったのは認める。すまん。
565:デフォルトの名無しさん
16/08/25 18:28:16.07 9o9g1zI8.net
問題となる識別子を使わないのが一番。
566:デフォルトの名無しさん
16/08/25 18:30:50.48 99xpDjOR.net
>>557
書き出したり読み込んだり送ったり送られたりするんだわ。
567:デフォルトの名無しさん
16/08/25 21:17:31.85 BkJ4qeav.net
>>552
> すべてのクォートする、というルールで、例外で無くなるんだよ。
だからなんで例外をなくそうとするのさ?w
ルールを作ることが目的になってるだろ。
568:デフォルトの名無しさん
16/08/25 21:21:39.15 BkJ4qeav.net
>>552
> 将来的な予約語の追加に備える記憶のコストがもったいない。
予約語を記憶してるんですか?w
それはeslintなどを使っていれば簡単に検出できる。
569:デフォルトの名無しさん
16/08/25 21:23:05.64 BkJ4qeav.net
>>556
> IE8とchrome最新版の両方で動かなならん物を作る羽目にもなる。
それなら当然babelを使って、ES2015からES5への変換ぐらいしてますよね?
ちゃんと最新のJavaScriptを使ってコード書いてますか?
未だに効率の悪いやり方してませんかねw
570:デフォルトの名無しさん
16/08/25 21:27:27.76 BkJ4qeav.net
面倒くさい作業が有ったとき、
それを技術で解決(babelやeslintを使う)か
努力で解決かの違いなんだわ。
業務でやるなら技術で解決しなきゃだめ。
努力はコストがかかる。
571:デフォルトの名無しさん
16/08/25 22:38:37.69 lH34XZIF.net
何発狂してんだよ(笑)
よっぽど悔しいんだろうな。
技術で解決できる事はすりゃいいけど、
技術で解決しなくても良いレベルで解決できるならそれでいいんだよ。
Polyfillやら、バベって解決するべき問題と、
最初から回避できる事は回避するのでは、
割と大きな差がある。
効率が良いやり方、なら、
何も考えずクォートしてしまうのが一番効率的だわな。
572:デフォルトの名無しさん
16/08/25 22:48:45.16 lH34XZIF.net
例外を無くそうとする理由なんて、簡単と言うか、
例外が例外でなくなれば、例外かどうか考える事すらしなくて良いから。
むしろ面倒くさくないんだよ。
やってみればわかると思うけど。
grepかける時も、リテラルでこれ、と指定するだけで良いから、誤ヒット減るし。
eslintやら、babelは頼るべきものでは無くて、利用するべきもの。
babelがどうトランスパイルするか知ってれば、手でも書ける。
ただただ依存して謎のトランスパイルミスの沼にはまる必要もない。
努力でも技術でも無いよ。ただ頼るのは。
原付乗って、自転車より早い!ってドヤ顔するようなもの。
573:デフォルトの名無しさん
16/08/25 23:01:31.00 BkJ4qeav.net
>>563
> 何も考えずクォ
やっぱり何も考えてないじゃねーかw
574:デフォルトの名無しさん
16/08/25 23:01:42.18 kFTapBTb.net
>>556
それは普通でも何でもない全くお前だけの都合かつお前だけの思い込み。
ES2015だってPromiseでcatchメソッドとかES3に囚われるの解禁したんだから。
俺はお前がいう古臭い現場よりそういう標準仕様や実装の動向こそ一般的といえ基準を置くべきだと思う。
そもそもここは汚らしい現場で「しか」通用しないJSのバッドノウハウを共有するためのスレじゃないから。
微塵でもあればあるうちになるので一般的に考慮すべきだみたいな自分勝手な考えはやめたほうが良いよ。
マイノリティは一般的に考慮すべきでない、こっちの考えの方がどう見ても自然だから。
575:デフォルトの名無しさん
16/08/25 23:02:30.00 BkJ4qeav.net
>>564
何言ってんだ?
「どっちでも良い」とすれば
例外もなにもないだろ。
後は楽な方でやればいい。
問題はすべて解決してるのに、
なんで意味がないルールを作るのか。
576:デフォルトの名無しさん
16/08/25 23:03:15.35 BkJ4qeav.net
>>564
> babelがどうトランスパイルするか知ってれば、手でも書ける。
コスト意識がないね。
そんなんで業務するなよ。
577:デフォルトの名無しさん
16/08/25 23:06:22.22 BkJ4qeav.net
ここでbabelバリバリ使ってますとか言う反論が来れば
俺の勘違いで終わったかもしれんが、
やはり俺の勘違いではなかったようだね。
何も考えずにキーを必ず""でくくって無駄なことをしているような所は
技術力も低いだろうという俺の予測は見事に的中したようだ。
578:デフォルトの名無しさん
16/08/26 00:39:02.18 4RusDDpB.net
まぁ、ルールを決めるべきではないと思う。少なくとも一般的にはね。
好きな方で書いていって、いやむしろいろんな方法を積極的に試して、
落ち着いたのがその人にとってのその時での正解だと思う。
と、セミコロンフリー派の僕が通りますよ。
579:デフォルトの名無しさん
16/08/26 00:54:03.80 aieEGB34.net
> と、セミコロンフリー派の僕が通りますよ。
JavaScript Standard Style がその規約だね。
URLリンク(standardjs.com)
eslintで言えばeslint-config-standardのスタイル
es6の新しい書き方でこんなのがあるしね。
URLリンク(qiita.com)
var d = 42;
var obj = {
a: 42,
"b": 42,
0: 42,
["c"] : 42,
d,
e(){},
get f(){},
set g(v){},
*h(){}
};
長い議論の末、便利だと判断されたからこそ使えるようになった書き方を
統一すると言うくだらん理由のために、これらの書き方を全部捨てるのかと。
580:デフォルトの名無しさん
16/08/26 01:13:24.23 4NaQhdnk.net
>>569
使う必要のある部分ではそりゃ使ってるけど。
Vue使ってるものなんかだと、色々バベってみた。
ものの、実はgulpは要らなかったな、とも思えてるけど。
makefileでタスクとそのタスクの成果物を明確に書いた方が、大体得策。
俺が何が言いたいか解らなかったらもういいよw
考える余地があるのであれば、考えず安全側で書くだけなのになぁ。
技術!トランプパイル!で解決するのは、それを解決させる力量が無いだけ。
581:デフォルトの名無しさん
16/08/26 01:26:34.06 aieEGB34.net
>>572
だから何も考えなくていい。
そんなものはeslintやbabelが勝手に判断してくれる。
俺は考えずに楽をしている。
お前は苦労をしている。
俺が言いたいのはこれだけ。
582:デフォルトの名無しさん
16/08/26 01:28:35.35 MwmpSlTr.net
馬鹿は複数のことを覚えられないからたった一つの答えを求めるんだって
583:デフォルトの名無しさん
16/08/26 01:31:57.14 X/VWO4dZ.net
流れとまるで関係無いが、JavascriptのWEB開発でフレームワークって必要なのかねぇ
新しいもの好きなプログラマが流行りに乗って騒いで使ってるだけで実際のところ色々な効率求めるなら無駄にしか思えない
どうせまた新しいライブラリが出たら乗り換えて学習し直して全面的に書き換えるんだろってところが特に
584:デフォルトの名無しさん
16/08/26 01:37:28.65 aieEGB34.net
フレームワークを作る側の視点がないやつの意見だなw
そういう人はまずフレームワークが先に存在していて
それを導入するかどうかで悩んでいる。
フレームワークを作る側の視点を持っていれば
まず最初に問題が有って、それを解決するために
フレームワークを作っているとわかるはず。
つまりは問題点が認識できないほど技術が低いか、
問題にぶち当たるほどのことをしてないかのどちらかだろう。
フレームワークを使うかどうかに関係なく「問題」は存在している。
その問題を認識してますか?って話だよ。
585:デフォルトの名無しさん
16/08/26 01:45:34.44 4Sr56RXx.net
フレームワークは消えても考え方は残ると思う
586:デフォルトの名無しさん
16/08/26 01:49:08.43 X/VWO4dZ.net
>>576
そのおま環で生まれたフレームワークを俺らが使う理由は何?
自前で好きにライブラリ作って使い回した方がマシだろ
587:デフォルトの名無しさん
16/08/26 02:01:29.31 n0soyahR.net
IE6がシェア占めてた頃は半ば必須だったが、
とうの昔に滅んでからはもうフレームワークを使う必要はほとんど無い
標準化が進んでからも仮想DOMみたいな高速描画用のフレームワークも新しく登場したが、
まあそんなのはIEに訓練されたWebプログラマなら自然と身に付けてる作法だし
ReactもAngularも所詮はjQueryと同じお子様の歩行器よ、使う奴のレベルが知れる
588:デフォルトの名無しさん
16/08/26 02:02:21.78 aieEGB34.net
>>578
同じ問題は誰にでも発生する。
だけど問題解決方法(フレームワーク)を
独自で作るのはコストがかかる。
仕事でやってるならコスト意識ぐらい持とうぜw
589:デフォルトの名無しさん
16/08/26 02:03:09.13 aieEGB34.net
>>579
仮想DOMの作法がどんなものか言ってみ。
お前が仮想DOMを分かってないってことがはっきりするから
言えないだろうがなw
590:デフォルトの名無しさん
16/08/26 02:07:44.76 PgCAqldG.net
>>579
釣乙
591:デフォルトの名無しさん
16/08/26 02:12:01.42 n0soyahR.net
今時のフレームワークや開発環境は企業が自社の技術力を見せ付ける為だけのパフォーマンスに過ぎないのだよ(プログラムだけに)
ITベンチャーがやたらとブログやQiitaにハウツーを載せたがるのと同じ
>>581
レンダリングの最適化だろ?
極論innerHTMLはループの外に置きましょうって昔の格言を最新のNode操作でやってるだけ
592:デフォルトの名無しさん
16/08/26 02:13:18.08 OUrL1nQP.net
>>573
あー、なるほど。
ツールを使えば、回避できるから、シンプルな方で書く、と。
ツール使うって苦労するより、
最初からつけとけばツール使わんで済む、って主張とは平行線だな。
アホらしw
どっちが苦労してるかわからんw
gulpてwatchタスク書いてるし!とか言うかもしれんが、それごと要らんからなぁ。
593:デフォルトの名無しさん
16/08/26 02:15:30.17 X/VWO4dZ.net
>>580
他人の作ったフレームワークの学習コストや寿命リスクは無視すんの?
それこそ仕事でやってる人間の意識とは思えんがな
594:デフォルトの名無しさん
16/08/26 02:17:30.81 6b7oKqOM.net
>>583
レンダリングの最適化というより、昔の裏画面のようにDOMをオブジェクトにしたものを持っといて、
更新するタイミングで差分取って適用するんよ。
ループの外中も副次的に、更新タイミングで更新されるだけだからいい感じみたいなそういうの。
イントラ用にごく低次元なの実装したわ。
595:デフォルトの名無しさん
16/08/26 02:22:30.76 Me0yrsFa.net
クラスやライブラリは誰が作ったものでも基本的に有用だと思えるが、
フレームワークは抽象化モデルで「ぼくのかんがえたさいきょうのしょしき( ^q^ )」を強要されるのがだるい
他で潰しの効かない学習とかマジで時間の無駄だわ
596:デフォルトの名無しさん
16/08/26 03:20:39.93 aieEGB34.net
>>583
> 極論innerHTMLはループの外に置きましょうって昔の格言を最新のNode操作でやってるだけ
120%間違えすぎてて哀れwww
597:デフォルトの名無しさん
16/08/26 03:21:45.75 aieEGB34.net
>>585
学習コストは学べばそれで終わり
学習しないで無駄なことやってると
ずっと何も変わらない。
お前の人生10年後も今と同じことしてる。
実際に10年前と何も変わってないだろ?w
598:デフォルトの名無しさん
16/08/26 07:47:04.27 6b7oKqOM.net
>>589
そりゃ極論だけど、まぁ、他人が作ったフレームワークは、使えるようになっておくと、
自分が作らないといかん時に、考え方なんかがすでに整理された状態で頭にあるから、
それを機械的にパンチするだけになるので、
学習コスト払ってもコードリーディングだと思って読んどくとためになるよね。
599:デフォルトの名無しさん
16/08/26 08:43:14.01 4RusDDpB.net
>>575
同じようなものをこれからも長く作り続けていく雑多なチームでは
学習する方が良い可能性がある。
ただ失敗したという話もよく聞く。
問題を認識ったってチーム全体として扱いきれるか判断するのは難しいし、
実際に参考にできる成功事例も少ないしな。
それでも0から書くよりはマシなのかもしれない。
制限されるから自由に悩まなくて良くなるしね。
600:デフォルトの名無しさん
16/08/26 08:52:48.92 LTYwvQxl.net
>>591
コーディング規約次第だと思うよ、あとから入った人を救うのは。
人間minifierみたいな人のコード読んでも辛いしな。
601:デフォルトの名無しさん
16/08/26 10:16:34.20 7f8QgTGW.net
フレームワーク製のほとんどのコードはネイティブで書いた方が読みやすいし高速に動くと俺は思う
602:デフォルトの名無しさん
16/08/26 10:23:36.57 7f8QgTGW.net
ところでここかHTMLスレかで迷ったんだが、
テキスト入力の書式方向(縦書きモード)を日本語入力環境に伝える方法って何かないかな
縦書き入力は可能なのに変換ウィンドウが横向きから変えられなくて困ってる
IEだとちゃんと全部縦になるというのに
603:デフォルトの名無しさん
16/08/26 11:59:00.07 LTYwvQxl.net
しかし、学習コストは学べば終わり、は凄いな。
普通は信頼度成長曲線のような形でスキル上がるわけで、
天井は無いもんなんだけど。
604:デフォルトの名無しさん
16/08/26 21:04:04.36 aieEGB34.net
>>593
そりゃそうだろw
フレームワークは大規模なものをメンテナンス性を
落とさずにチームで開発するのが目的だ。
小さなものを作るならjQuery程度のライブラリでいいんだよ。
トランスパイラの目的はまた別だけどな。
少なくともbabel(ES2015)は、今すぐ最新のネイティブコードを
使えるようにするのが目的、最新のEcmaScriptは読みやすくすることを
目的に作られているんだから当然読みやすい。
速度に関しては新しい機能を使った部分に関しては変換が入るから
新しい機能を使わない(=読みにくい)方法よりも今は遅いが、
将来はそれもなくなる。
605:デフォルトの名無しさん
16/08/26 21:05:01.58 aieEGB34.net
>>595
> 天井は無いもんなんだけど。
その理屈だと、成長を続ける人は遙かなる高みへと上り詰め、
そうでない人は底辺にへばりつくことになる。
606:デフォルトの名無しさん
16/08/26 22:00:27.83 X/VWO4dZ.net
>>596
でもbabelで変換されるのはクラスのような単純な構文だけで、新しい概念にも切り詰めたコーディングにも対応はしてないんだろ
607:?
608:デフォルトの名無しさん
16/08/26 22:14:20.95 LTYwvQxl.net
>>597
信頼度成長曲線ググってみろ。
上がり続けるが、上がり幅が違うんだよ。
アキレスと亀状態。
609:デフォルトの名無しさん
16/08/26 22:41:23.02 fnAyGTx3.net
>>598
何の話をしてるんだ?
最新のJavaScriptは新しい概念がどうとかを
サポートしていなければならないとか
そういう話をしてるのか?
babelは改良された最新のJavaScriptが使えるんだよ。
610:デフォルトの名無しさん
16/08/26 23:33:25.61 LTYwvQxl.net
>>600
ちょっと違うだろ。
最新のjavascriptが、古いJavaScriptに変換されるという、ある意味最新のJavaScriptを信奉するのであれば忌むべきバッタモンだよ。
611:デフォルトの名無しさん
16/08/26 23:41:33.71 fnAyGTx3.net
>>601
意味がわからん。
コンパイル言語なんてみんなそうなんだが。
コンパイルすると機械語になるがそれは機械語を使いたいわけじゃない。
機械語から発展していって作られたコンパイラを使いたいんだよ。
最新のJavaScriptを使いたいんだよ。
それが古いJavaScriptになろうが機械語になろうが
そんなのは関係ない。
612:デフォルトの名無しさん
16/08/26 23:57:10.34 LTYwvQxl.net
>>602
それは機械語を使いたいから、でしょ。
機械語を実行したいんでしょ?ただ眺めるもんでなしに。
アセンブラで例えるなら、コプロが無い時代のアセンブラで、コプロを使うコードを、代替コードに置き換えられたマクロアセンブラみたいなもん。
そのコードが実行できれば良いのであれば、コンパイラなんか極論要らないんよ。インタプリタで充分。
充分ではなかった、と歴史は言ってるけど。
最新のJavaScriptを使えばいいよ。
最新ではないJavaScriptとPolyfillに変換される為の最新のJavaScriptの様な言語使うんじゃなくて。
古いJSが根絶に値するならば、そんなトランスバイラ使ってるからこそ改革できないんじゃねーの?って話をしたんだけど、理解できないのかな?
613:デフォルトの名無しさん
16/08/27 00:09:17.79 TwHnMtjD.net
>>599
横レスすまんが信頼度成長曲線ってこんなのだぞ?
天井は明確にある
sssp://o.8ch.net/g41a.png
614:デフォルトの名無しさん
16/08/27 00:10:27.91 tVdOxPsU.net
>>602
新しいフレームワークに飛び付くギークとまんま動機が同じだなぁ
615:デフォルトの名無しさん
16/08/27 00:14:32.76 VpXVOrs8.net
>>604
無いよ。
ある証明はできるけど、無い証明な「現時点無い」によって代えられる。
現時点無い、を証明したところで、将来的に無いでは無い。
616:デフォルトの名無しさん
16/08/27 00:15:42.18 VpXVOrs8.net
>>605
最新のではなく、最新のまがい物で満足してるレベルのバカだからな。
仕方ないわ。
617:デフォルトの名無しさん
16/08/27 00:18:25.15 VpXVOrs8.net
なんか誤字脱字多いな。すまん。
618:デフォルトの名無しさん
16/08/27 01:22:19.54 W50SJfH+.net
>>607
まがい物ってなんだ?
何が悪いのかを明確にしろや
619:デフォルトの名無しさん
16/08/27 01:24:01.63 W50SJfH+.net
あ、そうか。何がだめなのかを明確に言えないから
まがい物と言う言葉遊びでごまかしてんだな。
620:デフォルトの名無しさん
16/08/27 04:02:41.95 TwHnMtjD.net
>>606
??
天井の話だろ?
バグの数が頭打ちになったらそこが天井だ
621:デフォルトの名無しさん
16/08/27 08:50:07.01 4zJIWaih.net
>>609
何が悪いかって、そりゃ、構文は新しい構文()を使ってるけど、
中身はJSのコードになるよね?
ネイティブじゃなくて。
あれは、「Babelで変換するES6のような構文で書いた、昔の処理系で動くスクリプト」
挙動が違うものもいくつかあるし、何より、意味がない。
JavaScriptにトランスパイルされるpython3を持ってきて、「俺Webもpython3使ってるんだ、技術者は新しい物をキャッチしないとね!」なんてドヤしてるようなもんで、
どちらの陣営としてもバッタモン感の塊でしかない。
>>611
頭打ちが、頭打ちである証明が出来ないよね。って話。次は絶対に無いの?って。
学習も同じで、終わりは無いよ。
この時点で充分、と自分で辞めることはあっても、これで完璧は存在しない。
622:デフォルトの名無しさん
16/08/27 09:23:07.54 W50SJfH+.net
>>612
何が悪いかって、そりゃ、構文は新しい構文()を使ってるけど、
中身は機械語のコードになるよね?
何が違うだろうかw
623:デフォルトの名無しさん
16/08/27 09:23:40.03 W50SJfH+.net
> あれは、「Babelで変換するES6のような構文で書いた、昔の処理系で動くスクリプト」
> 挙動が違うものもいくつかあるし、何より、意味がない。
挙動が違うものはない
624:デフォルトの名無しさん
16/08/27 09:24:39.69 W50SJfH+.net
JavaScriptにトランスパイルされるJavaScriptだからw
625:デフォルトの名無しさん
16/08/27 09:29:00.96 4zJIWaih.net
>>613
ならんよ。同じILにすらならん。
arrow functionで良いから、両方、V8止めてオブジェクト見てみれば良いけど。
>>614
挙動が同じものしか使わない、でしょw
ジェネレータとyieldをtry-catchで包んだときの動きとか結構違うよ。
626:デフォルトの名無しさん
16/08/27 09:31:25.60 4zJIWaih.net
>>615
だから、JavaScriptにトランスパイルされる、JavaScriptの様な言語でしかないよ、
JavaScriptの様な言語ではなく、JavaScriptだ、と言うのであれば、非互換な実行環境を駆逐するか、別の名前で開き直るべきだよね、って話。
あれは未来仕様を先どった、AltJSに他ならんよ、現状。
627:デフォルトの名無しさん
16/08/27 09:39:14.14 4zJIWaih.net
新しもの好きにありがちな、ちょっと触ってみて、これは凄いと感銘を受けたら、
それ以上調査もリポジトリのトラックもせず、ただひたすら使う側だと言う事がよくわかるわ。
628:デフォルトの名無しさん
16/08/27 09:57:13.25 4zJIWaih.net
そもそもこいつの言う機械語ってどの切り口での機械語なのかわからんけどな。
629:デフォルトの名無しさん
16/08/27 10:10:04.56 W50SJfH+.net
>>617
何を言ってるのかさっぱりわからんw
互換性がある部分はJavaScriptだろ。
JavaScriptじゃない部分を列挙してみろよ。
どーせしらんのだろうがw
630:デフォルトの名無しさん
16/08/27 10:43:38.33 bDNCBpuS.net
あのさ、JavaScript以前に「構文」の意味を
理解してから論議しろよ
631:デフォルトの名無しさん
16/08/27 12:05:56.97 cIYhXoXw.net
>>620
そのレスで自分で説明してない?
互換性のある部分はJavaScriptでしょ。
対偶の、互換性のない部分はJavaScriptではない、が真になるじゃん。
var f=(e)=> { var a='alpha';return {a}}
はES6だけど、それ以前のESとは互換性が無いから、babel使うんでしょ。
逆に、
var f=function(e) { var a='alpha';return {a:a}}
は、ES6でもある。
ES6でもあるのではなく、ES6しか存在しない状態になることを、何故目指さないの?効率原理主義者なら、って話。
処理系と言語は分けような。
ScalaはJavaである、何故ならJVMで動くからだ、みたいな暴論だよ。
632:デフォルトの名無しさん
16/08/27 12:08:37.37 W50SJfH+.net
>>622
JavaScriptじゃない部分は互換性がない部分だけだと認めましたね?w
じゃあJavaScriptじゃない部分はどこですか?
それ以外は明らかに最新のJavaScriptですね。
ES6はbabelつかなくても動きますよ。
最新のJavaScriptに対応した実行環境があれば動きます。
633:デフォルトの名無しさん
16/08/27 12:13:28.09 W50SJfH+.net
>>622
処理系と言語は分けような(大爆笑)
Scala(言語)はJava(言語)ではない。
何故なら同じJVM(処理系)で動くことは言語とは関係ないからだ
634:デフォルトの名無しさん
16/08/27 12:14:20.07 cIYhXoXw.net
>>623
あのさぁ。
お前理解できないの?
最新のJavaScriptに対応した実行環境、以外を排斥すれば、
JavaScriptに対応した実行環境、という「特殊解ではない一般論」になる、
何故それを目指さないの?babelなんてまがい物で我慢してるから?
って話をしてるんだけど。
最新のJavaScriptを処理するエンジンと、
「最新のJavaScript」をトランスパイルして最新ではないJavaScriptに変換するエンジンと、最新ではないJavaScriptを実行するエンジン
はかはり違うよね、旧いマックのRosettaやら、win32sみたいなもんだよね。それに依存してなんの意味があるのかな、それに依存してるから、新しい環境が整備されないんじゃないの?
って話。
635:デフォルトの名無しさん
16/08/27 12:16:09.27 cIYhXoXw.net
>>624
あれ?機械語になれば同等だから、
旧いJavaScriptのエンジンでも動くから、
ES6もバベったものも旧いJavaScriptもJavaScriptだ、って言ってなかったっけ?wwww
636:デフォルトの名無しさん
16/08/27 12:20:19.44 W50SJfH+.net
>>626
頭悪いですね(大爆笑)
Java8のコードがあってJava8のコードを
古いJVMで動かそうとしても動きません。
じゃあJava8のコードはJavaではないのかといったら違いますね。
最新のJVMで動くのだからJava8のコードはJavaです。
ES2015のコードがあってES2015のコードを
古いIEで動かそうとしても動きません。
じゃあES2015のコードはJavaScriptではないのかといったら違いますね。
最新のChromeで動くのだからES2015のコードはJavaScriptです。
ES2017のコードもES2018のコードも同様
これなら理解できるでしょwwww
637:デフォルトの名無しさん
16/08/27 12:21:18.01 cIYhXoXw.net
ES6(言語)はJavaScript(言語)である、何故ならばHarmony効いたV8(処理系)で動くからだ、
ES6(言語)はJavaScript(言語)である、何故ならば「babelでコンパイルしたものは旧いV8等のエンジン(処理系)でも動くからだ」
って話してたじゃんw
638:デフォルトの名無しさん
16/08/27 12:23:21.79 W50SJfH+.net
>>628
ES6(言語)はJavaScript(言語)である、何故ならば言語と処理系は別のものだからだ。
特定の処理系で動かなかったとしても、言語自体には全く関係ない。
俺が言ったよな? 処理系と言語は分けようって。
639:デフォルトの名無しさん
16/08/27 12:29:46.63 cIYhXoXw.net
>>627
違うだろw
Java8のコードとJava8のclassは直接関係しないし、JVM8とも直接関係しない。
Javaのコードを、Java8のクラスへ、Java8のコンパイラを使ってコンパイルできるだけ。
Java9999と言うまだ仕様しか決まっていない架空の言語を、Java9999のコンパイラを使って、JVM8で実行できるclassに変換した時、それは、Java9999という言語のコードであって、Javaのコードではない。
単にお前の不勉強。
640:デフォルトの名無しさん
16/08/27 12:31:45.05 W50SJfH+.net
> Java9999と言うまだ仕様しか決まっていない架空の言語を、
それは仕様が決まってない架空の言語だからだねw
今は仕様が決まってるES2015の話をしてる。
ま、こうやってツッコミどころ満載のレスをするから
お前の株はだだ下がりwww 匿名掲示板でよかったな。
641:デフォルトの名無しさん
16/08/27 12:31:58.83 cIYhXoXw.net
>>629
だから、あのさぁ。
ES6とは、JavaScriptの一種である、ではなく、JavaScriptである、と言うのであれば、って話をしてるんだけど。
642:デフォルトの名無しさん
16/08/27 12:33:40.43 cIYhXoXw.net
と言うか、ES6はES6である、って何で言えないのかわからん。
643:デフォルトの名無しさん
16/08/27 12:34:45.31 W50SJfH+.net
おや?まさかもしかしてES2015が仕様が決まってない
架空の言語だと思っていたのかな?
処理系と言語は分けような。
ES2015に完全対応してない処理系が存在しなかったとしても
言語はそれとは関係ない。
ES2015は仕様が決まってる言語
644:デフォルトの名無しさん
16/08/27 12:36:27.21 cIYhXoXw.net
>>631
だからさぁ。仕様が決まって、実装は?まばらなんでしょ?
そこで、まばらを何とかするbabelに頼る理由がわからんのだ。
645:デフォルトの名無しさん
16/08/27 12:39:27.30 W50SJfH+.net
>>635
だから何度も言ってるが、言語と処理系は分けようなw
対応している処理系を使えばbabelに頼る必要はない。
最新のJavaScriptは当然ながら最新のJavaScriptだ。
お前は、古いIE(処理系)で動かないから、最新のJavaScriptは
JavaScript(言語)ではないと言ったばかりだろw
646:デフォルトの名無しさん
16/08/27 12:40:47.02 W50SJfH+.net
つーかES2015の2015が何か分かってないのか?
2015年という意味だぞw
今は2016年だ。
一体何年前から、勉強してないんだろうね。
ES6という言い方はもう古いぞw
647:デフォルトの名無しさん
16/08/27 12:44:33.62 cIYhXoXw.net
>>634
結論として、根拠と結論はなんなの?ぼやけてきたんだけど。
JavaScriptを実行するエンジン、で実行できるから、ES6はJavaScriptなの?
それとも、
機械語になったら同じだから、ES6はJavaScriptなの?
俺は、コンパイラ通してやっと実行できるものは、ネイティブ実装とは違うもので、コンパイラ通す前と通したあとを同じ言語だとはよう言わんな、たとえ、一部互換があったり、一部ネイティブでも、と言ってるんだが。
VB6のネイティブコンパイルされたバイナリが含まれてるPCODEを、ネイティブバイナリです、と言われる気分。
648:デフォルトの名無しさん
16/08/27 12:45:04.52 W50SJfH+.net
勉強不足だから、時代が進んでることも知らんのだろうねw
WebKit、ECMAScript 6 compatibility tableで実装率100%をマーク。
URLリンク(applech2.com)
649:デフォルトの名無しさん
16/08/27 12:46:27.34 cIYhXoXw.net
>>637
それ以前から触ってるからそのまんま呼んでるだけだよ。
お上りさんと一緒にされても困るわ。
どっちかってと原理主義者なんだけど、こういう奴居るから流行んねえんだよ。今のところはbabelで大丈夫です!→じゃあインフラ変えなくていいよね!→まぁ、今のところは。
みたいな。
650:デフォルトの名無しさん
16/08/27 12:47:08.33 cIYhXoXw.net
>>639
5月か6月にやっと、だろ。
知っとるわ。
651:デフォルトの名無しさん
16/08/27 12:50:29.50 W50SJfH+.net
>>638
ほんとあったまわりぃなw
機械語の下りは、コンパイル(トランスパイル)した結果が
何に変わろうが、人間が元々書いた言語とは何の関係もないって話だろ。
ES2015はJavaScript。本物のJavaScript。それだけの話。
たとえ動く処理系がなかったとしても、ES2015は最新の本物のJavaScript。
(正確にはES2015よりも新しい仕様はあるが。)
それが結論。
ここまではOKだよな。
そして以下は蛇足。
babelを使えば最新の本物JavaScriptでコードを書ける。
babelで変換するから~とか意味が無いからいうなよ。
なぜなら「ここまではOKだよな」のところでES2015は
本物のJavaScriptだって結論がでてるんだから。
652:デフォルトの名無しさん
16/08/27 12:52:19.71 W50SJfH+.net
>>641
じゃあお前は、
ES2015で書いたコードを見て、
これが本物のJavaScriptはかどうかは、webkitが5月か6月に
出る前と後で変わる。
とでも言いたいのかw
いい加減、処理系と言語は分けて考えような。
このセリフ俺が言った言葉だぞ(笑)
653:デフォルトの名無しさん
16/08/27 13:06:45.43 cIYhXoXw.net
>>642
お前の言ってるJavaScriptがわからん。
ChakraのJScriptとかどうなんの?
>>643
本物のJavaScriptでもなんでもなく、それ以降のwebkitでは、ECMAScript 2015が実行できる、以外のなんなの?
654:デフォルトの名無しさん
16/08/27 13:10:44.65 W50SJfH+.net
>>644
> お前の言ってるJavaScriptがわからん。
> ChakraのJScriptとかどうなんの?
いい加減、処理系と言語は分けて考えような(大爆笑)
俺が言ってるJavaScriptは処理系ではなくて
言語仕様の方だ。当たり前だ。
655:デフォルトの名無しさん
16/08/27 13:12:18.06 cIYhXoXw.net
要は、僕はJavaScriptとは言語の総称だと思っていて、だからES6はJavaScriptです!って言われてんのか。
俺は、ES6だろうが何だろうが、babelした時点で、TypeScriptやらなんやらかんやらの有象無象と同じ、都合上そう書いている言語の一種でしかない、ただのコンパイラ用の言語だ、
それがES6の書式で書いたとして、コンパイラ用の言語でしかない、って話。
なぜその地位で満足して、babelを引き合いに出して、これで正当な物なのです、と言えるのかわからん、と言ってるんだよなぁ。
656:デフォルトの名無しさん
16/08/27 13:15:11.94 W50SJfH+.net
>>646
> それがES6の書式で書いたとして、コンパイラ用の言語でしかない、って話。
webkitでそのまま動くのですが?wwww
勉強不足って怖いねwww
657:デフォルトの名無しさん
16/08/27 13:15:24.34 cIYhXoXw.net
>>645
そら噛み合わんわ。
言語仕様がどうであれ、コンパイラに対して書くか、ネイティブに実行されるか否かで、
「現状はAltJSと同じ立ち位置」だって言ってんだよ。
JavaScriptのES6と同じ書式で書いた、babel用の言語だよ。
658:デフォルトの名無しさん
16/08/27 13:16:13.09 cIYhXoXw.net
>>647
だから、あのさぁ。
babelを引き合いに出さなければ、俺も何も言わんよ。
659:デフォルトの名無しさん
16/08/27 13:16:38.18 W50SJfH+.net
> JavaScriptのES6と同じ書式で書いた、babel用の言語だよ。
だからwebkitでそのまま動くんだよ。
babel用の言語じゃない証拠。
お前本当に馬鹿だろw
660:デフォルトの名無しさん
16/08/27 13:17:31.65 W50SJfH+.net
>>649
じゃあこれから何も言うなよ?
ES2015は、最新の本物のJavaScriptです。
なので今すぐ使いましょう。
661:デフォルトの名無しさん
16/08/27 13:25:27.85 cIYhXoXw.net
>>650
対応したwebkitで動かしているものと、
コンパイラへの入力に同じ物が使えるだけだろ。。
webkitやらnodeでネイティブに動く分には何も言ってねえじゃん、最初から。
babelで変換する為に書いたのであれば、何であれAltJSでしかない、って話してんの。
目的論なの。そこ理解してる?
662:デフォルトの名無しさん
16/08/27 13:25:28.27 W50SJfH+.net
webkitがES2015に完全対応したことからもわかるように
ES2015は、最新の本物のJavaScriptです。
最新の本物のJavaScriptという結論が出ました。
でも動かない環境がある?
そういうときはbabelを使って変換すれば動きます。
でもbabelは関係ありません。
babelを引き合いに出すまでもなく、
ES2015は、webkitで完全対応したので
どこからどうみても最新の本物のJavaScriptです。
663:デフォルトの名無しさん
16/08/27 13:26:30.18 cIYhXoXw.net
あー、こいつ理解してないわ。
664:デフォルトの名無しさん
16/08/27 13:27:13.20 W50SJfH+.net
>>652
> babelで変換する為に書いたのであれば、何であれAltJSでしかない、って話してんの。
babelで変換する為に書きませんよ?
ES2015で書くだけです。
でもWebKit以外では完全対応してないので、
対象ブラウザで動くようものだけを選んで
ES2015で書きますがねwwww
もちろん変換して対応できる機能も使いますよ。
でもそれもES2015の機能です。
665:デフォルトの名無しさん
16/08/27 13:27:35.22 W50SJfH+.net
>>654
あれ? レスしないんじゃなかったっけ?wwww
666:デフォルトの名無しさん
16/08/27 13:29:41.04 cIYhXoXw.net
>>655
そりゃ、babelがあるから、ES6で書くんだろ。
webkitにしか対応しなくていいから、ES6で書くんじゃなくて。
Dartでも書いとけよ。。
667:デフォルトの名無しさん
16/08/27 13:30:41.33 cIYhXoXw.net
>>656
引き合いに出すまでもない理由は、webkitで、実質引き合い出したじゃんw
668:デフォルトの名無しさん
16/08/27 13:31:22.69 W50SJfH+.net
>>657
> そりゃ、babelがあるから、ES6で書くんだろ。
いいえ、webkitがあるから、ES6で書きますよ。
何か問題でもあるんですか?w
669:デフォルトの名無しさん
16/08/27 13:32:59.62 cIYhXoXw.net
>>659
いやー、babelは改良された最新の云々、eslintが、babelが勝手に判断、というのは別人かぁw
670:デフォルトの名無しさん
16/08/27 13:35:49.45 cIYhXoXw.net
まぁ、ホントにそれ以外、真実として対応しなくて良いなら、
俺もES6でも、ServiceWorkerでも、generatorでもyieldでもなんでも使うけどな。
671:デフォルトの名無しさん
16/08/27 13:45:30.42 W50SJfH+.net
ServiceWorkerはブラウザの機能。ECMAScriptの範囲外
generatorやyieldはECMAScriptの機能
ChromeやFirefoxやbabelですでに対応済み
そんなことも知らないのですかね? やれやれです。
672:デフォルトの名無しさん
16/08/27 13:47:20.79 cIYhXoXw.net
>>662
だから、どこぞのランタイムに依存するのであれば、その機能を使うと言ってるんだよ。
言語がどうではなく。
なんか、お前、ちょっとズレてるって言われない?
673:デフォルトの名無しさん
16/08/27 13:49:35.66 W50SJfH+.net
>>663
だからランタイム(処理系)の話は別に考えろって言っただろ。
処理系の有無は関係なく、
ECMAScriptは最新の本物のJavaScriptだって言ってるの。
そしてES2015に対応するブラウザは存在するし
babelを使って多くの古いブラウザでも動く。
今すぐ最新の本物のJavaScriptを使える環境が
すでに多く存在してるって話をしてるの。
お前がずれてるんだよ。
674:デフォルトの名無しさん
16/08/27 13:50:09.84 cIYhXoXw.net
「chromeの為に書いたもの」と、「firefoxの為に書いた物」と、
「chromeとfirefoxの為に書いた物」と、
「chromeとfirefoxとbabel()」の為に書いた物を混同するなよ、未経験者でもあるまいし。
675:デフォルトの名無しさん
16/08/27 13:54:24.27 W50SJfH+.net
>>665
なんでES6(言語)で書けば、
chrome(処理系)でもfirefox(処理系)でも動くのに、
わざわざそれぞれの処理系ごとに考えて書かないといけないんだw
IE6の時代じゃねーんだぞ。
今はES6で書けばどの処理系でも動く。
だからES6で書くし、ES6で書いていればbabelを使って
古いブラウザ(処理系)でも動くことができる。
統一された言語がES6なんだが。
言語と処理系は分けて考えような。
お前は処理系しか見てない。
676:デフォルトの名無しさん
16/08/27 13:55:34.27 cIYhXoXw.net
>>664
なんか、余程ES6で悔しい思いしたの?
導入提案して怒られたとか。
別に、ES6自体を否定はしてないんだけど。偽物でも本物でも、どちらでも良いよ。本物だろう。
ただ、コンパイラするなら、コンパイラに対して書いたものでしかないけど。
ES6を.netのdllにコンパイルしてくれるyyyyってのがあったとして、それはyyyyの為に書いたES6でしかないよね、って話してるんだよなぁ。
なんでbabelを処理系として考えられないんだろ。
677:デフォルトの名無しさん
16/08/27 13:58:15.43 TwHnMtjD.net
>>612
典型的アスペだな
アスペならアスペで収束の概念くらい知っとけ
678:デフォルトの名無しさん
16/08/27 14:02:16.06 cIYhXoXw.net
>>666
あーwww
なるほど、夢見てるんだね。
>>662みたいな形で理解はしてるみたいだけど、使えるAPIがどうとか、そう言うのはJavaScriptの機能では無いから、JavaScriptとしては、どの処理系でも動く、と。
めでたい話だw
処理系しか見てない?当たり前だろ。
679:デフォルトの名無しさん
16/08/27 14:03:34.41 W50SJfH+.net
> なんか、余程ES6で悔しい思いしたの?
> 導入提案して怒られたとか。
それお前じゃね?
数年前に標準化される前からES2015を普通に使ってるんだが。
社内全体で当たり前に使われてる。
JavaScriptもCSSもビルドして生成して使う言語
Railsの世界ではRailsの標準機能でアセットパイプラインってのがあって
GruntもGlupも使わずに、フレームワークの一環として
JavaScript(とついでにScss)のビルドと結合とミニファイが統合されている。
(もっとも今はRails側がJavaScriptの進化のスピードに
追いつけてないから、webpack使ってビルドする方法に変更したけど)
680:デフォルトの名無しさん
16/08/27 14:07:10.82 W50SJfH+.net
>>669
ブラウザのAPIとECMAScriptの違いぐらい理解しようなw
ECMAScriptにはブラウザのAPIは含まれてないからこそ、
どのブラウザでも同じようにES2015は動くってことになるんだよ。
だからブラウザのAPIを使わない理由は有ったとしても、
ES2015を使わない理由はないだろ。
681:デフォルトの名無しさん
16/08/27 14:13:09.80 cIYhXoXw.net
>>670
Rails()使いなら仕方ないな。
絡んですまんな。
そんな当たり前の話をドヤされるとは思わなんだわ。
682:デフォルトの名無しさん
16/08/27 14:14:57.12 W50SJfH+.net
>>672
なんでそこでRailsが関係するんだよw
今はJavaScriptの話をしてるんだが?
お前Rails使えばJavaScripが不要になるとでも思ってんのか?
今までのECMAScriptの話に何の関係があるんだよ。
言ってみな。
683:デフォルトの名無しさん
16/08/27 14:15:26.69 cIYhXoXw.net
>>673
レベル低すぎて話にならん。
684:デフォルトの名無しさん
16/08/27 14:16:50.74 W50SJfH+.net
ほらな。何も言い返せないw
685:デフォルトの名無しさん
16/08/27 14:21:39.65 cIYhXoXw.net
>>675
だってそれ、Railsって言う処理系としか言えないからな。全体が。
それに気付いてない時点でもうお察しも良いところ。
686:デフォルトの名無しさん
16/08/27 14:23:39.68 W50SJfH+.net
>>676
あーなるほどw
お前クライアントのブラウザで動くJavaScriptが
Rails(Ruby)上で動くと思ってるだろw
JavaScriptはRailsの上では動かねーよ。
無知に無知を重ねてるな。
しかも自分でそれをわかってない。
687:デフォルトの名無しさん
16/08/27 14:25:36.60 Axxom3Kq.net
まあフロントエンジニアって平均的に程度が低いんだし、喧嘩すんなよ
688:デフォルトの名無しさん
16/08/27 14:48:39.62 W50SJfH+.net
フロントエンドってフルスタックエンジニアに比べれば
専門でやってる分高い技術を持っているかと言えばそうじゃないんだよな。
フルスタックエンジニアの方がより多くのことを知ってるから
より効率のいい方法を選択できる。
クライアントサイドなんて何年もの間ビルドという概念すらなかったからな。
そんなのコンパイル言語を使う世界では当たり前だったこと。
689:デフォルトの名無しさん
16/08/27 15:11:33.56 tVdOxPsU.net
スクリプト言語にそもそもビルドという概念は不要だしなぁ
邦訳された海外小説をロシア語に翻訳して読ませるくらいの無駄を何でわざわざ行うのか
690:デフォルトの名無しさん
16/08/27 15:18:17.58 W50SJfH+.net
プログラム言語は小説じゃないからねw
数式と一緒。文法を改良することで以前よりもわかりやすく
少ない記述で表現できるようにする。
無理やり例えるならば、推敲に近いことをやってるんだよ。
この言い方(笑)なら無駄じゃないって理解で来るだろ?
691:デフォルトの名無しさん
16/08/27 15:51:04.98 mf8jh8Qk.net
>>677
違うよ。
「お作法」に則ってしか作れないのが透けてる。
cakeしか使えないPHPerみたいなもん。
bakeでオッケーです、じゃねえよ、って話。
ドヤ顔でデプロイとか言いながらマイグレーションスクリプト書いてんだろうなぁ、マイグレーションせずに済むように書いておけば済むだけなのになぁ、って。
ビルドせんでもよいものはビルドしなくて良いんだよ、当たり前に考えて。
すれば楽なものはすれば良いけど、その分の検証は余計に必要になる。
数式と同じ、改良すれば良くなる、は的外れ過ぎる。
間違っていない数式は触るべきで無い。それを高速に計算させたいからと何らかの変換を掛けるのは必要だけど、冗長だからと書き換えるのはキチガイのやる事。
文法がどうのが大切で、文法を良くすれば良いものに変わるなら、その為のインタプリタそのもので良いんだよ。
その為のインタプリタが無いから、トランスパイル()するんであって、それはそのトランスパイラが仮想的な実装そのもの。
無駄な中間層があるだけ、無駄な地雷踏むわ。
692:デフォルトの名無しさん
16/08/27 15:54:11.33 W50SJfH+.net
>>682
ん?
全然俺のことに当てはまらないんだけど
もしかしてそんなに具体的なのは自分のことだから?
693:デフォルトの名無しさん
16/08/27 15:57:34.05 mf8jh8Qk.net
>>683
噛みつき方おかしいだろw
当てはまります、なんて言うようなディスりしてないよ。
具体的も何も、そういう下請け結構いるから。フルスタック気取りの人w
フルスタックできます、って言う会社はもう使わないって決めたくらい。
おつかれさんだねえ。
694:デフォルトの名無しさん
16/08/27 16:00:25.24 W50SJfH+.net
> ビルドせんでもよいものはビルドしなくて良いんだよ、当たり前に考えて。
ビルドはソースコード保存すれば勝手にビルドさせるようにしてるし・・・
> すれば楽なものはすれば良いけど、その分の検証は余計に必要になる。
自動化してるね。karmaって知ってる? JavaScriptの世界の話だよ。
複数のブラウザで同時にテスト実行できる。ソースコードを保存したら
勝手にビルドされてすぐにテストが実行される。
同時に複数のブラウザテストってことでBrowserSyncが気になってるけど
まだこれは試してないな。
でお前は俺と同じことをどうやってるのさ?
> 文法がどうのが大切で、文法を良くすれば良いものに変わるなら、その為のインタプリタそのもので良いんだよ。
インタプリタでもなんでもいい。ブラウザがネイティブにサポートされていればそれでもいいし
本当に何でもいいならば、babelでいいだろ。
お前はなんでも良いとは思ってない。中間層をなくさなければならないと思ってる。
でも思ってるだけ。自分の力で実現できてない。できてないからいつまでたっても無駄なことをしている。
現在進行系で地雷を踏み続けている。例えば「これはあのブラウザでは使えない機能だったー」とかな。
俺は中間層をなすくまでの力はなくても、自動化することで中間層が無いような環境を作ってる。
未来までまたなくていい。いま実現できている。
695:デフォルトの名無しさん
16/08/27 16:03:53.99 W50SJfH+.net
ソフトウェアの世界って技術の積み重ねだから
一旦乗り遅れると、最新の技術を取り入れるまで
時間がかかるようになってくるんだよな。
常に取り入れ続けていれば、アレをプラスするだけでいいのに、
そういう文化がないと、アレをプラスするにはコレ
コレをプラスするにはソレってなって、
いっぺんに多くのことをしなければならなくなる。
大変だから全く手を付けない。悪循環の始まり。
ご愁傷様だよw
696:デフォルトの名無しさん
16/08/27 16:13:10.14 JHx29YrT.net
>>686
なんの文化だよw
697:デフォルトの名無しさん
16/08/27 17:06:15.16 W50SJfH+.net
>>687
CMMでいえばレベル4以上の文化
レベル1:プロセスが確立されていない初期段階
レベル2:特定のプロジェクトリーダーや技術者に依存している状態
レベル3:首尾一貫したプロセスを標準として持っている段階
レベル4:標準化されたプロセスを定量的に測定し、洗練化していく状態
レベル5は技術・要件環境の違いによって、標準プロセスを最適化して用いられる段階
698:デフォルトの名無しさん
16/08/27 17:07:03.18 W50SJfH+.net
あとアジャイル文化
699:デフォルトの名無しさん
16/08/27 17:14:12.31 mf8jh8Qk.net
アホなんだなぁ。
ビルド自動化とか、テスト自動化とか、当たり前過ぎてちょっと怯えるレベル。
未だにナプキン持ったおっさんなのを責められるならわかるけど。
karmaではテストしないよ。当たり前だけど。
Seleniumで一定範囲はやるけど、それはCIの範囲と、改修の範囲であって、
本質的には、テスト自体のテストが必要な事はしちゃダメでしょ。
それ以上はテスト屋に投げるよ。
ホントになんでも良ければ、babelでも良い?
頭おかしいのかな。
「これはこのブラウザでは使えない機能だったか」なんて、いきあたりばったりで開発する訳ねえじゃん。提案段階で気づくっしょ。
コーディングルールも、指針も、規約も、ライブラリも無い無法地帯でもあるまいし。
内製してます。たぶんまともな会社はどこも。
あと、中間層が「ない」のと、中間層が「ほぼ無い、透過的」なのは大きく違うからね。
「施錠されていない扉はありません」は意味あるけど、
「施錠されていない扉はほぼありません」
は全然意味無いからね。
>>668にも突っ込みたいけど。
700:デフォルトの名無しさん
16/08/27 17:18:30.98 mf8jh8Qk.net
言葉足らずだったな。
要は、ターゲットを理解しきってないから、karmaとか言い出すんだよな。
なんでkarmaがユニットテストに向いてるか、どういうプロセスでテストするか考えればわかると思うけど。
>>689
アジャイルなめんな
701:デフォルトの名無しさん
16/08/27 17:38:07.27 mf8jh8Qk.net
俺と同じ事、って聞かれてたな。
何をどうドヤ顔してるのかわからんけど、
リポジトリ置いてあるサーバにはジェンキンスと、
XP以降のHyperVの仮想マシン立ってて、マージしたタイミングで勝手にSeleniumかけてくれる。
変わってるとレポート上げて来るから、変ってると書いとく。
Seleniumのスクリプト変えるときは手続き的に結構面倒。ほっとくとスクリプト変わってっけどって割と強めのレポート上がる。
最悪、人でもできる。マージ者がやりゃいいんだけど。
手元は特にこう何かあるわけでもないけど、普通にgulpでビルドが要るものはビルドしてる。
本番サーバも規格品あるから、仮想マシンにバージョン揃えたテスト環境で立ててる。このイメージの作成はたまに刷新するけどめんどい。Dockerにすべきだろうけど、プロプラの物もあるので安易に出来んからやむなし。
cssとかは社内標準あるから、lessのconst変えるくらい。
オートプリフィクサの類はサーバサイドで配信時にかける。いちいちコミット、デプロイすんのも無駄だし。
最悪、手で書けば良いんだけど。
702:デフォルトの名無しさん
16/08/27 17:55:01.55 W50SJfH+.net
>>690
いや、なんで当たり前のことを言ってるだけなのに、
わざわざ当たり前というのかわからん。
じゃあ何て言うのか?
当たり前のことを言ったらいかんのか?
じゃあお前はどうやってるんだ?
当たり前のことを言うだろ?
703:デフォルトの名無しさん
16/08/27 18:00:02.91 W50SJfH+.net
>>691
> なんでkarmaがユニットテストに向いてるか、どういうプロセスでテストするか考えればわかると思うけど。
karmaは各ブラウザでES6で書いたコードが
正しく動かどうかののテストだけど?
これをやってるからES6で書いて
各ブラウザでES6が同じように動くことが担保できてる。
当たり前のことだが、当たり前のことを言うと
こいつは文句つけるんだよなぁw
704:デフォルトの名無しさん
16/08/27 18:00:57.05 W50SJfH+.net
>>692
> リポジトリ置いてあるサーバにはジェンキンスと、
> XP以降のHyperVの仮想マシン立ってて、マージしたタイミングで勝手にSeleniumかけてくれる。
> 変わってるとレポート上げて来るから、変ってると書いとく。
> Seleniumのスクリプト変えるときは手続き的に結構面倒。ほっとくとスクリプト変わってっけどって割と強めのレポート上がる。
そんな当たり前のことをドヤ顔で言われましてもwwww
こういうレスでいいんでしたっけなw
705:デフォルトの名無しさん
16/08/27 18:04:46.68 mf8jh8Qk.net
>>693
そりゃ、あたりまえだからだろ。
馬鹿じゃねえの?
706:デフォルトの名無しさん
16/08/27 18:07:13.32 W50SJfH+.net
>>690
> Seleniumで一定範囲はやるけど、それはCIの範囲と、改修の範囲であって、
Seleniumでやるのは単体テストではない。
単体テストをいちいちJenkinsでやってられるかw
テスト結果待ちに何分掛かるんだか。
テストといったらSeleniumしか思いつかない時点でアウトだよお前。
> 本質的には、テスト自体のテストが必要な事はしちゃダメでしょ。
どこにもテスト自体のテストが必要とか書いてないが?
何幻見てるんだよw
707:デフォルトの名無しさん
16/08/27 18:07:41.57 W50SJfH+.net
>>696
じゃあこれから当たり前のことを一切言わないようにw
708:デフォルトの名無しさん
16/08/27 18:09:13.45 W50SJfH+.net
>>690
> 「これはこのブラウザでは使えない機能だったか」なんて、いきあたりばったりで開発する訳ねえじゃん。提案段階で気づくっしょ。
提案段階で「使える機能」だとわかるから
使うんですが?
babelで何が使えるかぐらいわかるだろwww
709:デフォルトの名無しさん
16/08/27 18:13:08.38 5Mfi3utC.net
>>694
ES6の動作検証を、ES6のスクリプトでしてどうすんの(笑)
その辺がRailsの人の神経わかんないんだけど。
レンジテストに関数じゃなくて値を書いて渡しちゃうタイプ。
むしろ、ブラウザ外からテストかけないと意味ないっしょ。
710:デフォルトの名無しさん
16/08/27 18:17:36.22 5Mfi3utC.net
>>697
あ、うん、単体テストじゃないね。
結合だけど。
そんなレベルの話してないって。
なんでわざわざブラウザ外から試験してると思ってんだ。
711:デフォルトの名無しさん
16/08/27 18:17:53.75 W50SJfH+.net
自分でローカルでやるべき単体テストまで
Jenkins使うとかテスト屋に回すと言ってる時点で、
「遅い開発」してるってよく分かるわw
発言がことごとく意味不明で突っ込みどころが多すぎ。
一例を出すと
> Seleniumのスクリプト変えるときは手続き的に結構面倒
それこそ本末転倒になってる証拠だろ
> 最悪、人でもできる。マージ者がやりゃいいんだけど。
コスト無視すりゃなんでも人でできるだだろ
> Dockerにすべきだろうけど、プロプラの物もあるので安易に出来んからやむなし。
プロプラ使ってもDockerにできるだろ
> cssとかは社内標準あるから、lessのconst変えるくらい。
それじゃ改良しようにもルールに縛られてできんくなってるだろ
> オートプリフィクサの類はサーバサイドで配信時にかける。いちいちコミット、デプロイすんのも無駄だし。
サーバサイドで配信時にかけるのがデプロイの一環なんだけど?
712:デフォルトの名無しさん
16/08/27 18:20:50.62 W50SJfH+.net
>>700
> ES6の動作検証を、ES6のスクリプトでしてどうすんの(笑)
馬鹿すぎだw
ES6の動作検証がテストの目的だと思ってるのか。
ずれすぎの原因だな。
テストの目的はES6を使って書いたコードが正しく動くことを確かめるんだよ。
もちろんテストコード込みでな。
テストコード込みでES6で書いたコードが
正しく動けば何も問題ないだろ。
713:デフォルトの名無しさん
16/08/27 18:23:24.00 W50SJfH+.net
>> 700
> むしろ、ブラウザ外からテストかけないと意味ないっしょ。
あ、この人、ブラウザで動くアプリしかテストしたこと無いなw
例えばC#アプリのテストコードはC#で書かれるのが普通。
アプリを開発した言語と同じ言語を使ってテストするんだよ。
どうせお前GUIアプリだと、手でぽちぽち操作するのが
テストだと思ってるんだろうな。
714:デフォルトの名無しさん
16/08/27 18:24:45.03 W50SJfH+.net
これも一言言っておこうか。
ES6のテストはES6でやれよ?
なに○○○だって?
じゃあSeleniumがバグっていたらどうするんですかねぇ。
715:デフォルトの名無しさん
16/08/27 18:27:24.00 mf8jh8Qk.net
>>702
単体テストは各自でやるよ。
当たり前だけど、仕様が変わるってのは、順序があるでしょ。
テスト仕様ってのは本来先に決まってるべきもので、アジャイルなら特にこれが一番大事なんだけど、
そのスクリプトが先に用意されて無いってことは、結構ヤバ目なの。
コスト無視すりゃ人でも出来るようにしておくの、必要だよ。
まぁインフラでもない端っこのシステムなら、何かとんでもない事が起こっても何日か止めれば良いだけだけどね。
過去二回食らってるからね。どうやってもどうしようもない障害。
付け焼き刃の改良ならしないほうがマシ。
したらプルリク送ればいいし、やってほしければデザイナに頼む。
あのさ、もしかして、社内便とか無い会社なの?なんか日数掛かるのが前提みたいな話だけど。
716:デフォルトの名無しさん
16/08/27 18:29:02.00 mf8jh8Qk.net
>>703
>>704
>>705
お前バカなの?
クラサバならクラサバで、自動化してるよ。
同じ言語でテストするのは、単体以下。モジュールまで。
717:デフォルトの名無しさん
16/08/27 18:33:55.82 W50SJfH+.net
>>707
> 同じ言語でテストするのは、単体以下。モジュールまで。
ほうw SeleniumはJavaScriptをメインで開発されていますが、
じゃあ同じ言語のJavaScriptのテストには使えませんねw
URLリンク(github.com)
あほか、これと同じことは何にでも当てはまるぞ。
お前が使ってるそのテストツールは何言語で作られてる?
そのテストツールと同じ言語だとテストできない?
馬鹿かお前。
718:デフォルトの名無しさん
16/08/27 18:37:43.18 W50SJfH+.net
>>706
> そのスクリプトが先に用意されて無いってことは、結構ヤバ目なの。
じゃあ用意しろよ。
> コスト無視すりゃ人でも出来るようにしておくの、必要だよ。
アホかどんなことでも人でできるだろ。
たとえ電気がなくてもコスト無視すりゃ仕事はできるだろ。
泳いで行けばいい。
あとアジャイルとテストファーストが違うってことぐらい
知っておいたほうが良い。
719:デフォルトの名無しさん
16/08/27 18:44:41.20 W50SJfH+.net
あー、やっと見つかった。
あやふやな記憶を頼りにこの記事を探していたんだよ。
なぜ従来のテスト自動化ツールはアジャイルを抑えつけるのか
URLリンク(www.infoq.com)
Seleniumはまさにこの記事で言う「従来のテスト自動化ツール」であり
アジャイルに向かない。
> 従来の記録および再生するヘビーウェイトで商業用のテスト自動化ソリューションは、なぜアジャイルではないのでしょうか
> 3つの理由があります
> 1. そのようなツールを使って行うテストラストのワークフローは、アジャイルチームにとってはまったくの間違いです。
> 2. そのようなツールで作成されたメンテナンスできないスクリプトは、変更が難しくなります。
> 3. 専門のツールを使うにはテスト自動化の専門家が必要となり、そのため孤立した作業が増えます。
見事に2と3に当てはまってるよな。
720:デフォルトの名無しさん
16/08/27 18:46:41.82 W50SJfH+.net
>>710の記事を読み直していたらワロタw
> 本物のIDEで実際の言語を使ってテスト自動化のコードを書くようサポートする。
実際の言語を使ったほうが良いらしいぜw
721:デフォルトの名無しさん
16/08/27 19:18:53.82 DL42PbUI.net
長すぎて全ては読んでないが、>>648,665に同意
ID:W50SJfH+ はBabelが完全ではない事を理解してないんだろうな
「Babel用のES6」と「ネイティブのES6」は別物
722:デフォルトの名無しさん
16/08/27 19:21:32.91 mf8jh8Qk.net
何にでも当てはまるぞ、って何ドヤ顔してるんだよw
だからランタイムに影響されんように静的ビルドしたコンパイル言語で作ったものがあるし、
ライブラリやらkernel上げるのは大事になるんじゃん。
電気が無くてもコスト無視すりゃ仕事出来るのは、そうだよ。
最悪何らかのOSが立ってて、テキストエディタで修正できて、バインダに綴じてあるテスト仕様書刷ったもの見てテスト通せるような姿になってる。
昔はコンパイラ置いてたけど。
>>710
アホ過ぎるだろ。
それは、テストツールについてる操作記録からテストスイート作ってくれるもの、を叩いてるんだよ。3つの理由の2読んでわかんないのかな。
Seleniumだと、SeleniumIDE使って作ったスクリプトを撮って出しの様に使うって事だよ。
もしかしてそういう使い方しか知らないのかな。
JavaScriptで出来てる、って謎理解。
723:デフォルトの名無しさん
16/08/27 19:30:16.88 mf8jh8Qk.net
>>712
理解していないだろうね。
babelをターゲットに入れたくない、中間層に入れたくない、に、
中間層は意識しない作りになってる、なんて的外れな答え返してくれるレベルだから。
724:デフォルトの名無しさん
16/08/27 19:45:51.14 mf8jh8Qk.net
本物のIDEと、実際の言語で、
Many developers view the specialized QA tools with disdain. They want to write code in real programming languages, not in some wacky vendorscript language using a hamstrung IDE.
ここだね。
要は、(Record-and-playbackなテストスイートの)言語じゃなくて、本当に実在するプログラミング言語でテストは記述しようね、って事で、
ターゲット言語と同一を使え、とは一切書いてないね。
テスト対象もテストプログラムも、どっちも地雷すら踏み抜いてて検知されない類のフレームワークの不具合踏んだとき泣くやつだわ。
URLリンク(testobsessed.com)
自体は面白かったよ。
725:デフォルトの名無しさん
16/08/27 19:58:06.22 W50SJfH+.net
>>713
> それは、テストツールについてる操作記録からテストスイート作ってくれるもの、を叩いてるんだよ。
> Seleniumだと、SeleniumIDE使って作ったスクリプトを撮って出しの様に使うって事だよ。
十分わかってるよw
予想通りIDEだったかって感じ。
やっぱりWebDriver使ってないんだね。
IDEかぁ。あれはすごくメンテンナンスしづらかった。
あんなの使うやつの気が知れない。作るのもメンテナンスするのも時間がかかる。
まるでプログラミング出来ない罰として苦行を押し付けるような感じだ。
Ruby使ってないなら、Capybara使えとまでは言わないけど、
IDEなんか使わずにWebDriverを直接またはCapybaraのように間接的に使って
アプリと同じ言語でテストを書けよ。
726:デフォルトの名無しさん
16/08/27 19:59:09.20 W50SJfH+.net
>>713
> だからランタイムに影響されんように静的ビルドしたコンパイル言語で作ったものがあるし、
> ライブラリやらkernel上げるのは大事になるんじゃん。
お前はそうなんだね!w
727:デフォルトの名無しさん
16/08/27 20:01:14.67 W50SJfH+.net
karma使ったテストが優れているのは
実際のブラウザ(Chrome等)で単体テストを実行できること。
728:デフォルトの名無しさん
16/08/27 20:12:02.18 mf8jh8Qk.net
>>716
だから書いてるってば。
そのお前が引用してきた記事が叩いてる対象がSeleniumIDEだって言ってんの。
英語読めない?
IEでもテストすんだから、WebDriver使ってるに決まってるだろ。
何発狂してるんだよ。
カピバラ使うわけねえだろ、Seleniumは検証したけど、カピバラの検証までしたくねえよ。
>>718
実際のブラウザだけでやるなら片手落ちすぎるだろ。
仮想マシンで全ターゲット回せそんなもの。
出来ないなら、それこそgulpかなんかでwatchしてんなら、半殺しにしたnodeでテストも終わらせてターミナルに上げてくれば良いだけじゃん。
フルスタックが聞いて呆れるわ。
729:デフォルトの名無しさん
16/08/27 20:14:59.40 mf8jh8Qk.net
Ruby使いって、ちょっと前に現れた、JavaScriptの+の挙動も理解できない、Rubyの唱える理想郷のような「すべてオブジェクト」を実装する為の足回りも理解してないやつもそうだったけど、カスばっかなの?
730:デフォルトの名無しさん
16/08/27 20:22:54.48 mf8jh8Qk.net
Seleniumはまさにこの記事で言う「従来のテスト自動化ツール」としても使えるけど、
そうじゃない使い方もある。
ってか、そうじゃないと、テストスクリプトを先に用意出来ないよね。
録画するものだと思っていたなら。
矛盾に気づかず、叩く事しか考えれないんだろうな、もう余裕無くて。
哀れ。
731:デフォルトの名無しさん
16/08/27 20:32:49.67 mf8jh8Qk.net
十分わかってるよ
↑わかってない
予想通りIDEだったか
↑既に、テストスクリプトを先に書くと言ってる
あれはすごくメンテナンスしづらかった
↑むしろ自分が使ってる
お粗末すぎるだろ。
732:デフォルトの名無しさん
16/08/27 22:06:36.06 mf8jh8Qk.net
しかし、50いくつも書いて、晒したのが恥ってやるせないな。
Railsの世界では()
アセットパイプライン()
↑旧い
もっとも今は()
↑そっちだけ書けよw
ブラウザのAPIを使わない理由はあったとしても
ES2015を使わない理由は無い
↑そりゃ、古いコードも、ES6に内包されるから、当たり前の話
ほらな。何も言い返せない
↑ここで引いておけば恥かかなかった
フロントエンドってフルスタックエンジニアに比べたら
↑フルスタックってRails!?
karmaって知ってる?
↑は?
同時に複数のブラウザテスト
↑TCP/IPのコネクション数限られてるから同時にやんなそんなテスト、一台ずつ立てろ。何がフルスタックだ。
733:デフォルトの名無しさん
16/08/27 22:07:29.01 mf8jh8Qk.net
「これはあのブラウザでは使えない機能だったー」とかな
↑そんな要件最初から断われ。
いま実現できている
↑できていない
大変だから、全く手を付けない
↑つけた結果がこれ。ってか、どんな製造で工数計上すんの?研究開発費?
工数計上ってわかる?
テストと言ったらSeleniumしか思いつかない
↑テストと言ったら単体テストが出て来る時点でお察し
どこにもテスト自体のテストが必要とか書いてないが
↑当然の事だから。マル付けする小学校の先生は教員免許持ってるっしょ。
それじゃ改良しようにもルールに縛られて出来ない
↑デザインセンターのデザイナより良いものが作れるならどーぞ、ただ相手はデザイン畑でうん十年選手だけど。それがどれだけ失礼な態度か、プログラマの域に入ってくるレベルの低い画面屋見たらわかる。
サーバサイドで配信時にかけるのがデプロイ
↑()
見事に2と3に
↑当てはまってない
アプリと同じ言語でテストを書けよ
↑それ.net出始めの頃にエラッタ踏んでえらいめに遭った。MSの人来てもらった。
↑同じくGreasemonkeyでも踏んだ。コミットした
↑同じ経験してる人多かったのでルール化した
あまりに未経験者過ぎるだろ。
経験者のフリするには未熟過ぎ。
734:デフォルトの名無しさん
16/08/27 22:33:07.97 QbV02vjq.net
配列 [{id : name}, {id : name}, ...]
をただのマップに変換する方法を、
誰か教えて頂けないでしょうか
こんなイメージです。
usersMapList[0]["foo"] = "太郎"
usersMapList[1]["bar"] = "次郎"
usersMapList[2]["hog"] = "三郎"
↓
usersMapList["foo"] = "太郎"
usersMapList["bar"] = "次郎"
usersMapList["hog"] = "三郎"
よろしくお願いします。
735:デフォルトの名無しさん
16/08/27 22:34:29.01 QbV02vjq.net
あ、追記で
できればmapとかreduceでスマートに書けるとありがたいです
一時変数作ってそこに突っ込んで・・・だと残念コードなので・・・
736:デフォルトの名無しさん
16/08/27 22:37:30.43 vp5ltHnS.net
>>725
教科書を最初から読み直すのが一番いいと思う。
737:デフォルトの名無しさん
16/08/27 22:50:06.68 mf8jh8Qk.net
>>725
キーがかぶるとかそう言うのおいといたら、
var ret={}
for(var i in usersMapList) {
If(!
usersMapList.hasOwnProperty(i)) continue;
for(var key in usersMapList[i]){
If(!
usersMapList[i].hasOwnProperty(key)) continue;
if(!!ret[key]) { continue; } //キー被ったとき
ret[key]=[usersMapList[i][key]];
}
}
と地道にやるのが一番面倒くさくないんじゃないかな。確実にスレッド独占できるし。
>>726
reduceでも一時変数出来る割に、それほど効率よくないよ。
残念の意味がわからないかな。
mapなら、一時変数にmapで放り込んで行くと楽だけどそう言うの求めてないっしょ。
雰囲気スマートなのと、何やってるか自明なのは、何やってるか自明な方書いたほうが良いよ。
738:デフォルトの名無しさん
16/08/27 22:51:04.38 mf8jh8Qk.net
あ、retに配列入れてた、申し訳ない。
739:デフォルトの名無しさん
16/08/27 23:57:53.63 QIOEbDBu.net
なになに、kenokabeさんが暴れてるの?
740:デフォルトの名無しさん
16/08/28 00:01:55.51 zR1ENZmn.net
ク ク || プ //
ス ク ス | | │ //
/ ス | | ッ // ク ク ||. プ //
/ // ス ク ス _ | | │ //
/ ̄ ̄\ / ス ─ | | ッ //
/ _ノ .\ / //
| ( >)(<) ___
. | ⌒(__人__) ./ ⌒ ⌒\
| ` Y⌒l / (>) (<)\
. | . 人__ ヽ / ::::::⌒(__人__)⌒ \
ヽ }| | | ` Y⌒ l__ |
ヽ ノ、| | \ 人_ ヽ /
. /^l / / ,─l ヽ \
741:デフォルトの名無しさん
16/08/28 00:18:44.05 Olv20zQg.net
>>728
00年代で成長が止まったレベルの老害コード、
クソ汚いセンス零に加えて、
初歩的なコーディングミス
スレッドがどーとか知ったかの言葉振りかざす前に、
もっとお勉強すべきことがあるんじゃないか?
酷いなんてもんじゃない、恥ずかしくないのか、君
自明?これが?正気?
残念とか以前の問題だよこれは・・・
JavaScriptの角に頭打ち付けて死んだ方がいいレベルだよこれは
742:デフォルトの名無しさん
16/08/28 01:08:29.61 s486bi6/.net
>>725-726
スマートな書き方か
let users = [{foo: ”山田”}, {bar: ”田中”}];
users = Object.assign({}, ...users);
しかしまだ動かないブラウザがあるしわざわざポリフィル用意するくらいならforで丁寧に書くのが一番な気はする
743:デフォルトの名無しさん
16/08/28 01:18:19.49 CaGzKWyD.net
>>725
lodash (または、Underscore.js)の、Collection の、each, map でできるのでは?
[js]便利機能満載のライブラリUnderscore.js
URLリンク(d.hatena.ne.jp)
744:デフォルトの名無しさん
16/08/28 01:23:58.28 Olv20zQg.net
>>733
大変素晴らしい
感動をありがとう
出逢いに感謝
>>734
この程度の処理ならライブラリ使うほどじゃないと思った
でもありがとう、勉強になる
745:デフォルトの名無しさん
16/08/28 01:47:14.14 CUC3T7Hp.net
>>732
スマホで書いてんだし、そう来ると思って、インデントせずにおいといたんだよ。
配列にいれんのはマジで書き間違えたけどw
書かなくなったけど負けを認めるのは悔しいから、書くんじゃないかな、って待ってたの。
ようこそ、自己紹介をありがとう。
何をどう勉強したら良いか、教えてくれよw
>>733
babelれば動くんじゃねーの?ww誰かさんの言い方だと。
ちなみに、なぜ老害コードで止めてるかわかる?
俺自身は書けるけど、書かないよ。相手がもしかしたらゴミブラウザかもしれんし。
老害コード、いつのJSで動くと思う?
>>733が指摘したようにな。
あと、なぜ、スレッドに関して触れたかは、コールバックを持つjQueryの配列関係の関数よ挙動を見てくれればわかるよ、みといで。
「知ったかぶりをに違いない、何故なら俺はわからないからだ、分からない理屈は世界に存在しないんだ」って自分を慰めてたら、本当の意味で統合失調症になるから気をつけてね。
746:デフォルトの名無しさん
16/08/28 01:51:33.11 CUC3T7Hp.net
哀れすぎるバカのIDもわかったし、今日も勝手におどってくれたまえ、
やっぱり、レベル低すぎて話にならんわ。
747:デフォルトの名無しさん
16/08/28 09:27:26.66 Olv20zQg.net
うわっ 深夜に必死だな^^;
ごめんね、そんなに返答待ち焦がれてたとは思わなかったよ
mapかreduce使ってと書いてるのに、オレオレ理論でゴミブラウザがどうの言い出すし、
老害に加えて思い込みまで禿しいとかほんとゴミだな
互換を言い訳に老害コードにしがみついてるゴミ屑www
日がな一日長文連投お爺さん
やっぱり、レベル低すぎて話にならんわ。w
748:デフォルトの名無しさん
16/08/28 09:48:39.77 JslD76EF.net
目くそ鼻くその争い
結果のみ
749:デフォルトの名無しさん
16/08/28 12:09:04.61 9MrtMfPy.net
>>736
> あと、なぜ、スレッドに関して触れたかは、コールバックを持つjQueryの配列関係の関数よ挙動を見てくれればわかるよ、みといで。
JavaScriptはスレッドは一つしかありません。
だからブラウザはWebWorkerというAPIを作ったのです。
(これはブラウザが提供するAPIでありJavaScriptの仕様外です)
で、スレッド、関係ないよね?w
750:デフォルトの名無しさん
16/08/28 12:24:28.42 FZ102VPA.net
先日からずっと「JavaScript === ECMAScript」と思っている人の物言いが気になる
751:デフォルトの名無しさん
16/08/28 12:25:25.44 9MrtMfPy.net
> ちなみに、なぜ老害コードで止めてるかわかる?
自分がかけないからだろw
> 俺自身は書けるけど、書かないよ。相手がもしかしたらゴミブラウザかもしれんし。
これって相手を馬鹿にしてるだけだよね。
俺天才、だからできるけど、
お前馬鹿だろ、馬鹿でもわかるように、簡単な言葉でせつめいしてあげまちゅよw
752:デフォルトの名無しさん
16/08/28 12:28:46.59 9MrtMfPy.net
>>741
説明はこれでいい?
URLリンク(developer.mozilla.org)
JavaScript とは?
JavaScript はクロスプラットフォームで動作する、オブジェクト指向のスクリプト言語です。
・クライアントサイド JavaScript は、ブラウザとそのドキュメントオブジェクトモデル (DOM) を
制御するオブジェクトを提供することにより、コア言語を拡張します。
・サーバサイド JavaScript は JavaScript を使ったサーバの稼働に関連するオブジェクトを
提供することにより、コア言語を拡張します。
JavaScript と ECMAScript 仕様
JavaScript は国際的なプログラミング言語を提供できるように Ecma International によって
標準化されています (ECMA は、以前は European Computer Manufacturers Association の頭文字をとったものでした)。
この標準化された JavaScript のバージョンは ECMAScript と呼ばれ、
この標準をサポートするアプリケーションはすべて同じ動作になります。
753:デフォルトの名無しさん
16/08/28 12:35:45.62 9MrtMfPy.net
JavaScriptの昔の仕様書らしきものを見つけてきたよ。
1996年らしいから、ECMAScript初版(1997年)よりも前。
URLリンク(www.planetpdf.com)
URLリンク(hepunx.rl.ac.uk)
ちゃんとブラウザのAPIは入ってないから
これが「JavaScript」であってると思うよ。
754:デフォルトの名無しさん
16/08/28 12:37:44.19 FZ102VPA.net
>>743
> ・クライアントサイド JavaScript は、ブラウザとそのドキュメントオブジェクトモデル (DOM) を
> 制御するオブジェクトを提供することにより、コア言語を拡張します。
これを読んでもまだ分からないのかな
クライアントサイドJavaScript(Firefox)はWebWorkerも提供してる
JavaScriptは様々な仕様の集合体なんだよ
勿論、環境に依存するから「Google ChromeのJavaScript」と「FirefoxのJavaScript」は別物
>>740で「ECMAScriptはスレッドは一つしかありません。」といってたなら何もいわなかった
755:デフォルトの名無しさん
16/08/28 12:42:58.30 FZ102VPA.net
> 「ECMAScriptはスレッドは一つしかありません。」
「ECMAScript2015はスレッドは一つしかありません。」の方が厳密か(将来的に拡張されるかもしれないし)
756:デフォルトの名無しさん
16/08/28 12:43:19.32 9MrtMfPy.net
>>745
でもサーバーサイドJavaScriptでは提供してないだろ?
クライアントJavaScript ・・・ DOM含む
サーバーサイドJavaScript ・・・ DOM含まない(サーバの稼働に関連するオブジェクトを含む)
JavaScript・・・両方に共通するもののみ
でしょ?
757:デフォルトの名無しさん
16/08/28 12:49:47.89 9MrtMfPy.net
> 「Google ChromeのJavaScript」と「FirefoxのJavaScript」は別物
それは実装と実行環境の話。
仕様としてのJavaScriptは一つしか無いよ
758:デフォルトの名無しさん
16/08/28 12:51:59.05 FZ102VPA.net
>>747
そうだよ
実装によってはWebWorkerは存在しない
だからJavaScriptを語るなら実装を決めうちしないと正確じゃない
一般論で「JavaScriptは~である」なんていえない
759:デフォルトの名無しさん
16/08/28 12:53:37.70 FZ102VPA.net
>>748
JacvaScriptという名の仕様は存在しない
仕様を語るなら仕様の名前も正確にいうべき
760:デフォルトの名無しさん
16/08/28 12:58:05.05 ZmsD9M2a.net
URLリンク(kangax.github.io)
これを見ればわかると思うけど、ChromeのES6実装率はbabelよりも高いんだわ
だから>>733のこれは、現行の(Chromeの)JavaScriptで動く
> let users = [{foo: ”山田”}, {bar: ”田中”}];
> users = Object.assign({}, ...users);
だからJavaScriptのコード例としてECMAScript6の範囲の
コードを書くのは何ら問題ないってことなんだよ。
いい加減>>728みたいな老害コードはやめよう。
761:デフォルトの名無しさん
16/08/28 12:58:58.13 ZmsD9M2a.net
> JavaScriptという名の仕様は存在しない
タイトル:JavaScript Language Specification
URLリンク(www.planetpdf.com)
どういうことかな?w
762:デフォルトの名無しさん
16/08/28 13:09:35.21 ZmsD9M2a.net
あとこれも
URLリンク(developer.mozilla.org)
> JavaScript versions
> JavaScript 1.1 初版
> JavaScript 1.3 Standardization work to be compliant with ECMA-262 1st and 2nd Edition.
> JavaScript 1.5 標準化団体の ECMA-262 3rd Editionに準拠しています。
> JavaScript 1.6 ECMAScript for XML (E4X)やnew Array methods plus String and Array generics.
> JavaScript 1.7 Includes generators, iterators, array comprehensions, let expressions, and destructuring assignment.
> JavaScript 1.8 Includes expression closures, generator expressions and Array.reduce()
> JavaScript 1.8.5 Includes many new features for ECMA-262 Edition 5 compliance.
ECMA-262っていうのがECMAScriptのことね。
JavaScriptにバージョンがあることすらも忘れたれたのかねぇ。
昔はscriptタグのlanguage属性でバージョン番号指定していたりしたのに。
URLリンク(www.tohoho-web.com)
> <script language="JavaScript1.2">
> <!--
> document.write("JavaScript 1.2 をサポートしてるよ");
> // -->
> </script>
763:デフォルトの名無しさん
16/08/28 13:36:40.98 PTagisoL.net
スレッドって言い方悪かったな。
コールバックが発火するタイミングか。
forEachは関数抜ける。
>>751
そのコード、id重複時の処理書き足すの、楽?w
764:デフォルトの名無しさん
16/08/28 13:43:01.01 uj5gKXyg.net
理想バカは何やっても片手落ち。
英語みろよ。あんな欠陥言語だけど使いやすい、書きやすい、で使用者増やして、話者が多く通じる≒まなびやすい、まで登っとる。
言語構造として理想、と作ったエスレペラントやその他後続の新興言語見れば、理想に意味があるのかわかっるっしょ。
言語構造がどうであれ、話者は相手に伝われば良いんだよ。
だからRubyなんて使ってるんだなぁ。
ECMAScriptのMozilla実装が、JavaScriptって名前だよ、本来ww
だからChakra引き合いに出したのに。哀れな奴。
765:デフォルトの名無しさん
16/08/28 13:45:41.50 ZmsD9M2a.net
これだけだろ?
users = Object.assign({}, ...users.reverse());
766:デフォルトの名無しさん
16/08/28 13:46:50.95 ZmsD9M2a.net
> ECMAScriptのMozilla実装が、JavaScriptって名前だよ、本来ww
だからJavaScriptはECMAScriptを実装したものであり
内容は同じである。
767:デフォルトの名無しさん
16/08/28 13:48:32.60 uj5gKXyg.net
書いたところで、相手に制限事項伝えるようなコードなら、そんな動かないなもしれないコードはただのゴミかもしれないんだよなぁ。
ほとんど動く、は動くとは違うんだからw
768:デフォルトの名無しさん
16/08/28 13:50:39.40 ZmsD9M2a.net
そしてJavaScript(ECMAScript)のMozilla実装が
SpiderMonkeyという名前である。
769:デフォルトの名無しさん
16/08/28 13:51:36.55 ZmsD9M2a.net
ちなみに、SpiderMonkey は
URLリンク(ja.wikipedia.org)
> それ単体では Document Object Model (DOM) のようなホスト環境を提供しない。
770:デフォルトの名無しさん
16/08/28 13:51:38.46 uj5gKXyg.net
>>757
アホかな。狭義のJavaScriptだけでしょ。
狭義のJavaScriptと広義のJavaScriptを混同するな、と、オライリー本にはちゃんと書いてあるよ。
読んだことねえんだろうなぁ。
771:デフォルトの名無しさん
16/08/28 13:52:46.58 ZmsD9M2a.net
とりあえず「オライリー本」って言ってれば説得力あるだろ
って考えてるんだろうなって思ったw
772:デフォルトの名無しさん
16/08/28 13:53:11.55 uj5gKXyg.net
お前が言ってる、JavaScriptってのは狭義の方のES6だよな。
それを、どこでも使えるぞ、JavaScriptだから。Webkitでも今は。
ってのは恣意的なごまかし。
773:デフォルトの名無しさん
16/08/28 13:53:56.90 uj5gKXyg.net
>>762
第5版だと、2P目に書いてあるほど大事なことだからだ。
774:デフォルトの名無しさん
16/08/28 13:55:50.26 ZmsD9M2a.net
そのうちNetscape NavigatorのJavaScriptで
動かないじゃないか!って言いそうな雰囲気である(笑)
775:デフォルトの名無しさん
16/08/28 13:56:30.09 uj5gKXyg.net
あ、6版読んでないわけじゃないよw
6版は会社の金で買ったから会社においてあるわ。
776:デフォルトの名無しさん
16/08/28 13:58:45.70 uj5gKXyg.net
>>765
何を揶揄したいかわからんけど、
だからターゲットを明確にする必要があって、
ターゲットに�
777:ホして書くJavaScriptを、汎用的かつ一般的な標準仕様のJavaScriptとは明確に、全く同じものでも違う意味合いの言語だと理解しなきゃダメなんだよ。 lisp処理系が爆発的に増えた時代とか、古くて理解しなくて良い歴史じゃないんよ。
778:デフォルトの名無しさん
16/08/28 13:59:12.39 ZmsD9M2a.net
>>764
2Pのどこ?
URLリンク(books.google.co.jp)
779:デフォルトの名無しさん
16/08/28 13:59:51.69 ZmsD9M2a.net
>>767
だからどの仕様のJavaScriptであっても、
そこにDOMは含まれてないんだけど?
780:デフォルトの名無しさん
16/08/28 14:01:04.18 uj5gKXyg.net
だからレベル低すぎて話にならん、と言ってるのに。
いろんな発言を鑑みるに、お前は役不足だと思ってるんだろうが、妥当な評価だよ。
781:デフォルトの名無しさん
16/08/28 14:01:19.61 ZmsD9M2a.net
あ、この行か
「JavaScriptの正式な名前は、ECMA-262標準によると、ECMAScriptになります。」
782:デフォルトの名無しさん
16/08/28 14:06:49.49 uj5gKXyg.net
>>768
この版ではマイルドになってるな。
でも、1.2の下の方に、この名前があらすのは、とまだ書いてあるよ。
783:デフォルトの名無しさん
16/08/28 14:06:59.27 ZmsD9M2a.net
えぇ、だからMozillaの実装だけがJavaScriptだったけど、
ひどいことに、今は、ECMA-262標準でJavaScriptの正式な名称が
ECMAScriptになったんでしょう?
ひどくても、そうなってしまったんでしょう?
今現在の話をしましょうやw
このスレをMozilla実装のJavaScriptだけの話の
スレにしますっていうのなら、そう宣言しろよ。
それならそれで、>>733のコードは
Mozilla実装のJavaScriptで動くから何の問題もないよな。
それは当然の話でMozillaはES6に準拠しているのだからES6のコードは動く。
784:デフォルトの名無しさん
16/08/28 14:07:40.34 ZmsD9M2a.net
>>772
> この版ではマイルドになってるな。
第5版ってかいてますが?
785:デフォルトの名無しさん
16/08/28 14:11:59.82 uj5gKXyg.net
「しかし、このひどい名前は標準を参照するときだけに使われます。厳密に言えば、「JavaScript」と言う名前が示すのはNetscapeとMozilla Foundationの実装の時だけなのですが、実際にはその他の実装も含めてJavaScriptと呼ばれます」
んで、次のページに親切に実装の差が書かれてるな。
で、同じ事言うとるな。
本書の内容が通じなくなることは無いw
786:デフォルトの名無しさん
16/08/28 14:14:08.57 uj5gKXyg.net
>>773
違うよ。お前買ってちゃんと読むか、もう少し続きよめよ。
「ECMA262の一種がJavaScriptとも呼ばれる」
なんだし、現在はそれも変わってねえよ。
だから、JavaScriptと呼ぶなら、ターゲットをちゃんと定めて発言すんの。
787:デフォルトの名無しさん
16/08/28 14:16:06.48 uj5gKXyg.net
>>774
ありゃ、すまんな。それは俺の記憶違いだな。
昔の版はもう少しここトゲトゲしとったんだよ。
788:デフォルトの名無しさん
16/08/28 14:16:19.84 ZmsD9M2a.net
>>776
えっと、Googleブックスって知ってますか?
その機能に中身の一部を見れるって知ってますか?
リンク先から2ページ目と3ページ目の中身が見れることに
気づいていますか?
789:デフォルトの名無しさん
16/08/28 14:17:41.67 ZmsD9M2a.net
>>775
すまんな。>>773を早く送信しすぎた。
本当は>>775の後に書き込むつもりだったんだよ。
お前のレスが遅すぎで先に書き込んでしまったじゃないかw
で、今はECMA-262標準でJavaScriptの正式な名称が
ECMAScriptと定められました。これが現実です。
790:デフォルトの名無しさん
16/08/28 14:18:31.92 uj5gKXyg.net
Mozillaはねー、LTS出してるんよ、企業向けに。
Firefox動いてるん�
791:ナすね、じゃあ「最新の」コード動きますね は間違いなの。 ちょっと勉強して書き込みにおいで。 もしくは、ES2015質問用スレッド、立てなよ(笑)
792:デフォルトの名無しさん
16/08/28 14:20:17.22 uj5gKXyg.net
>>779
アホか。何一つ理解してねえな。
んじゃ、今日は家族サービスしてくるわ。
勉強するかスレ立てとけよ。
793:デフォルトの名無しさん
16/08/28 14:22:23.26 ZmsD9M2a.net
>>780
LTSの最新版はESR45.0、これは2016年3月8日に
リリースされたFirefox 45相当だから
最新のコードは動きますねw
URLリンク(www.mozilla.jp)
794:デフォルトの名無しさん
16/08/28 14:25:18.28 ZmsD9M2a.net
>>781
それが次スレのスレタイですねw
795:デフォルトの名無しさん
16/08/28 14:26:09.38 Olv20zQg.net
基地害老害お爺ちゃん
せっかくの休日も、2chでオレオレ理論を披露してレスバトルしかやることがない
かわいそう・・・
796:デフォルトの名無しさん
16/08/28 14:36:55.87 uhyHhNbC.net
このスレのレスってJavaScriptのsourceによく似ているw
無意味で長ったらしい
797:デフォルトの名無しさん
16/08/28 15:45:25.84 S9TMTp6W.net
長ったらしいのはファイルを細かく分けてないからなわけだけど、
JavaScriptには長らくモジュール化の仕組みがなかったからね。
今は標準でimport/exportがあるけど、Edgeしかまだ対応してないみたいだし。
798:デフォルトの名無しさん
16/08/28 15:47:46.46 C4oSiRgf.net
なくても分けられるだろ
一本糞みたいなの書くやつって何考えてるの
あとでメンテするとき死にたいの
799:デフォルトの名無しさん
16/08/28 16:09:53.77 S9TMTp6W.net
それってscriptタグでファイル羅列する方法でしょ?
それだとパフォーマンス悪いし、グローバル変数がたくさんできて
どれがどこを見てるのかわからなくなるじゃん。
結合すればいいけど、いちいちファイル結合して保存とか面倒なことしないと動かせないし。
800:デフォルトの名無しさん
16/08/28 17:09:41.46 PTagisoL.net
一つの指定したグローバル変数だけ汚すように作れば、
ファイルいくら分けようが単純コンカチしようが、問題無いと思うけど。
何が何を見てるかわからなくなるのは構造の問題。
単部品単機能で作ればいいと思うよ。
xx.webrequest.jsはどう見てもウェブへのリクエストするモジュールだし、
xx.uploaduserdatum.jsはどう見ても一つずつユーザデータをアップロードするモジュールなんだから。
依存するなら、既に使いたいモジュールが読み込まれてるかだけ見て、使いたいモジュール無かったらthrowして教えてやれば良いだけだし、
どうしても自動化が必要なら読み込んでScriptタグ足してからもう一度自分を呼べば良い。
global[xx]だけ汚染して、global[xx].requestがnullなら、って処理にしとけば統一出来るでしょ。
xxとwindowもらう感じで。別にブラウザだけの処理でもなくて、global.documentがあればブラウザだろうし、って中で書き分けても良い。
キャッシュとか考えたら、巨大なファイルがちょくちょく変わるより小さなファイルのいくつかが変わるほうが良い場合もあるし、
最初から別けておいて問題出たらコンカチするとかした方が運用上安定するとは思う。
801:デフォルトの名無しさん
16/08/28 17:20:18.50 9MEkCf8f.net
>>752
それはNetscape Navigator 2.0 のJavaScriptエンジンの仕様書
>>753
それはNetscapeの後継となるFirefoxのJavaScriptエンジンのバージョン
実装レベルで話をするならFirefoxはWebWorkerを実装しているので「Firefoxが実装するJavaScript」はWebWorkerを含むことになる
>>740であなたがいってるJavaScriptは標準仕様の話でしょ
Mozilla系列のJavaScript仕様書を持ち出して反論しておかしいと思わないわけ?
802:デフォルトの名無しさん
16/08/28 17:32:49.80 9MEkCf8f.net
ちなみにMDNに記載されているJavaScript ver x.xはMozillaの独自拡張が多く含まれてる
当然、これらはFirefox専用の機能で他の実装がその仕様に準拠する強制力はない
JavaScript 1.8.5 を出してる時点でFitefoxの話にしかなってない
803:デフォルトの名無しさん
16/08/28 18:38:53.18 3M8BWqcq.net
別にどうだっていいじゃん。
くっだらない言い争いでそんな親の敵のように喧嘩しなくてもさ。
804:デフォルトの名無しさん
16/08/28 18:55:53.44 PTagisoL.net
>>790-791
こいつに言っても無駄よ。
出逢いに感謝()wとか、まぁ楽しくやらせりゃ良い。
機械語にすれば同じとか言ってた奴が、機械語にすれば同じかもしくはパフォーマンスが多少良いコードを、古い書き方、とディスるだけなんだし。
お得意のbabel()で変換したコード読んで、愕然とすれば良いww
>>792
喧嘩というより、間違ってるからな。
質問スレで嘘言う奴はいかんだろ。
805:デフォルトの名無しさん
16/08/28 18:59:59.06 mAwbYo5H.net
>>790
> 実装レベルで話をするならFirefoxはWebWorkerを実装しているので「Firefoxが実装するJavaScript」はWebWorkerを含むことになる
含まない。なぜなら、実際にJavaScript 1.8.5にWebWorkerが含まれてないからである。
WebWorkerがリリースされたのはFirefoxの3.5から。
JavaScript 1.8.5がリリースされたのはFirefox 4
806:デフォルトの名無しさん
16/08/28 19:05:39.73 mAwbYo5H.net
FirefoxのJavaScriptエンジンの名前はSpiderMonkey
JavaScript 1.8.5とかいう名前ではない。
URLリンク(developer.mozilla.org)
> Mozilla プロジェクトは二つの JavaScript 実装を提供しています。
> 最初の JavaScript は Netscape の Brendan Eich が作成して、
> ECMA-262 改訂 5 版に適合するようアップデートされてきました。
> このエンジンは、SpiderMonkey というコードネームで、C/C++ で実装されています。
> Rhino エンジンは、主に Norris Boyd (この人も Netscape) によって作成され、Java による JavaScript の実装です。
そしてSpiderMonkeyのどこを見てもWebWorkerなどというものは出てこない。
URLリンク(developer.mozilla.org)
807:デフォルトの名無しさん
16/08/28 19:14:42.36 PTagisoL.net
頭おかしいだろ。
エンジンにSpiderMonkey使ってる、firefoxと言うブラウザじゃん。
V8使ってるnodeとchromeは、同じ実装と言ってるようなもんだよ、それ。
808:デフォルトの名無しさん
16/08/28 19:15:20.50 mAwbYo5H.net
上の方でChakra エンジンの名前が出ていたが、コレに相当するものが
SpiderMonkeyであることは以下の文章からも明らか。
URLリンク(developer.mozilla.org)
> 時々、SpiderMonkey の JavaScript エンジンには、TraceMonkey (Firefox 3.5) や
> JagerMonkey (Firefox 4)、IonMonkey のようないくつかの最適化が加えられました。
> JavaScript の実行パフォーマンスを向上させるための取り組みは継続しています。
>
> 上記の実装の他にも、以下のような人気の JavaScript エンジンがあります。
>
> ・Google の V8。これは Google Chrome ブラウザや最近のバージョンの Opera ブラウザが使用しています。
> また、Node.js もこのエンジンを使用しています。
> ・Safari (Apple) などの WebKit ブラウザで使われている JavaScriptCore (SquirrelFish/Nitro)
> ・過去のバージョンの Opera の Carakan
> ・Internet Explorer で使われている Chakra エンジン (ただし、実装している言語は
> 商標の問題を避けるため、公式には "JScript" と呼ばれています)
そう、商標の問題を避けるたJScriptと呼ばれているが、JScriptに相当する部分とJavaScriptに相当する部分は同じ。
そして続けてこう書いてある。
> Mozilla の各 JavaScript エンジンは、アプリケーション開発者がソフトウェアに JavaScript を統合するために
> 使用できる公開 API を公開しています。JavaScript をサポートした最も一般的なホスト環境はウェブブラウザです。
> ウェブブラウザは主に DOM の JavaScript への実装を担当する 'ホストオブジェクト' を作成するのに公開 API を使っています。
ホストオブジェクトを作成するAPIを使っているのは、JavaScriptにはDOMを含んでいないからこそ。
JavaScriptはブラウザだけで動くものじゃないのだからDOMは含まない。