16/08/29 01:23:24.09 MUTWRWKo.net
プログラマ板の趣旨にあわせてブラウザ限定ではなくサーバーサイドJavaScriptや
トランスパイラなどの関連技術の話題も取り扱うように変わりました。
ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。
ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
URLリンク(kangax.github.io)
URLリンク(kangax.github.io) (= es2015)
URLリンク(kangax.github.io)
URLリンク(kangax.github.io)
JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。
※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。
+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
スレリンク(hp板)
+ JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net
スレリンク(hp板)
前スレ + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
スレリンク(tech板)
2:デフォルトの名無しさん
16/08/29 02:19:02.03 LPmR1rz1.net
サンプルコードを書く場合はES6+に対応している
以下のサイトがおすすめです。
URLリンク(jsfiddle.net) babel対応
URLリンク(ideone.com) SpiderMonkey、Node.js 対応
3:デフォルトの名無しさん
16/08/29 02:22:18.61 LPmR1rz1.net
ECMAScript最新仕様
The TC39 Process
URLリンク(tc39.github.io)
Stage 1~3 Proposals
URLリンク(github.com)
Stage 0 Proposals
URLリンク(github.com)
4:デフォルトの名無しさん
16/08/29 02:22:35.50 LPmR1rz1.net
TC39 Process: Stage
URLリンク(azu.github.io)
Stage 0: Strawman
アイデア
Stage 1: Proposal
プロポーザルの目的や解決方法を示す
Polyfillやデモ等を用いて解説する
Stage 2: Draft
いわゆるドラフト
ECMAScript標準と同じルールでAPIや構文、セマンティックについて説明していなければならない
Stage 3: Candidate
仕様は完成した状態
実装や外部のフィードバックを求める状態
レビュアはその仕様策定者以外ならだれでもなれるが専門的な知識を持っている必要がある
ECMAScriptのエディタがチェックする必要があり
Stage 4: Finished
2つの実装(not Polyfill)が必要
ECMAScriptへ取り込まれる準備が完了したことを示す状態
ECMAScriptのエディタがチェックする必要があり
5:デフォルトの名無しさん
16/08/29 09:37:00.52 V2I771t3.net
こっちのスレの後継も兼ねています。
ECMAScript デス 5 [転載禁止]©2ch.net
スレリンク(tech板)
6:デフォルトの名無しさん
16/08/29 09:37:26.07 V2I771t3.net
《ECMAScriptを語るスレ》
1. - 概要 -
ECMA-262規格として知られる言語(通称 ECMAScript)についての利用法や言語仕様、
その他四方山話をするスレです。
Standard ECMA-262 ECMAScript Language Specification Edition 5.1 (June 2011) 標準規格(英語)
URLリンク(www.ecma-international.org)
Annotated ECMAScript 5.1
URLリンク(es5.github.com)
Draft Specification for ES.next (Ecma-262 Edition 6)
URLリンク(wiki.ecmascript.org)
Under Translation of ECMA-262 3rd Edition (日本語訳)
URLリンク(www2u.biglobe.ne.jp)
■前スレ
ECMAScript デス 4
スレリンク(tech板)
■過去スレ
JavaScript デス
スレリンク(tech板)
ECMAScript デス 2
スレリンク(tech板)
7:デフォルトの名無しさん
16/08/29 09:37:45.78 V2I771t3.net
ES2015 Specification
URLリンク(people.mozilla.org)
Current Specification
URLリンク(tc39.github.io)
Current Proposals
URLリンク(github.com)
tc39-notes
URLリンク(github.com)
ES2015 Specificatoin
URLリンク(www.ecma-international.org)
8:デフォルトの名無しさん
16/08/29 22:45:03.15 /4QG0Ido.net
ワロスワロスw
↓動作保証外ですというためにはテストしないといけないらしいよw
930 名前: ◆SEdFBOkLSw [sage] 投稿日:2016/08/29(月) 08:06:03.18 ID:FpDQPGJ0
>>929
だから、動作保証外です、って言うためには、ノーテストだから動作保証外はだめでしょ。
テストして動作保証外と表示される所まで見て動作保証外だよ。
9:デフォルトの名無しさん
16/08/29 22:45:52.95 BFY9f7LW.net
あの、いつまでこの流れ続けるんすか
10:デフォルトの名無しさん
16/08/29 22:46:28.65 6Q0H184Q.net
◆SEって言ってることが妙にSE臭くって、
それは技術的におかしいよね。
意味ないよね。
間違ってるよね。
っていうのがたくさんある。
トリップが本質を示してるw
11:デフォルトの名無しさん
16/08/29 22:53:05.30 1MLmR57m.net
まあ冗談抜きで今更古臭いコードで書く気にはなれんよな。
最低でもES2015もしくはTypeScriptじゃないと
書きたくない。
12:デフォルトの名無しさん
16/08/29 22:53:43.85 BFY9f7LW.net
>>11
TypeScriptのバージョンがあがったらテストし直しですよ
正気ですか?
13: ◆SEdFBOkLSw
16/08/29 22:54:50.80 v+VBJ2wi.net
そりゃ、ちゃんと動くか、もしくはちゃんと止まるか、がテストじゃん。
ちゃんと動くことだけテストしてどーすんだろ。
>>9
このスレこういうスレなんじゃねえの?1的に。
>>10
そりゃSIerのSEだからな。
14:デフォルトの名無しさん
16/08/29 22:55:06.23 1MLmR57m.net
>>12
バージョンなんて何を使っても上がるだろ?w
15:デフォルトの名無しさん
16/08/29 22:55:45.18 BFY9f7LW.net
>>13
システムインテグレーターヤーのシステムエンジニアの方ですか?
16: ◆SEdFBOkLSw
16/08/29 22:55:57.31 v+VBJ2wi.net
自転車派とか話逸してたけど、
ちゃんと走ってちゃんと止まるまともな車検受けた車に乗る派だよ。
エンジンかかったからよしこれで行こうみたいなバカじゃない。
17:デフォルトの名無しさん
16/08/29 22:56:30.84 BFY9f7LW.net
>>14
はい工数オーバー、デスマ確定、精神病んで実家タウンにさよならバイバイ
18:デフォルトの名無しさん
16/08/29 22:57:11.60 BFY9f7LW.net
>>16
おまえ車検のバージョン上がったらどうすんの?
ネジのバージョンに脆弱性が見つかったけどどうすんの?
19:デフォルトの名無しさん
16/08/29 22:57:17.74 1MLmR57m.net
>>13
> そりゃ、ちゃんと動くか、もしくはちゃんと止まるか、がテストじゃん。
それはある条件のときに「ちゃんと止まる」という動きをしたってことでしょ?
それは「ちゃんと動く」の中に含まれてるんだよw
20:デフォルトの名無しさん
16/08/29 22:57:51.01 1MLmR57m.net
>>17
> はい工数オーバー、デスマ確定、精神病んで実家タウンにさよならバイバイ
意味がわからん。
俺は何を使ってもバージョンは上がるって言っただけなんだが?
21: ◆SEdFBOkLSw
16/08/29 22:58:15.58 v+VBJ2wi.net
>>14
全部内製したら良いじゃん。
割とマジで。
>>15
確かにヤーはどこから来てんだろうな。
System IntEgratoRなのかねえ。
22:デフォルトの名無しさん
16/08/29 22:58:23.30 BFY9f7LW.net
Don\'t stop Don\'t stop the JavaScript♪
23:デフォルトの名無しさん
16/08/29 22:59:08.99 1MLmR57m.net
もしかして、バージョンが上がったときに
デスマにならないようにする方法知らないのか?
Windows 10が出たときに、Windows 10対応を
無料でやるからお前はデスマになるんだよw
24:デフォルトの名無しさん
16/08/29 22:59:26.85 BFY9f7LW.net
>>21
はい車輪の再発明、ギルティ。リーダブルコード読んで、どうぞ。
25: ◆SEdFBOkLSw
16/08/29 22:59:51.60 v+VBJ2wi.net
>>18
そりゃ、リコールだよ。
>>19
またすり替える。
たまたま動いてる、のに、止まったとて、「たまたま止まってる」だけじゃん。
>>20
ちょっとわかるわ。
無理聞くからそうなる。
26:デフォルトの名無しさん
16/08/29 23:00:04.35 BFY9f7LW.net
>>20
じゃあおまえバージョンあがったらどうすんの?誰が責任取るの?
27:デフォルトの名無しさん
16/08/29 23:00:39.96 1MLmR57m.net
>>21
> 全部内製したら良いじゃん。
> 割とマジで。
内製したら、コードを修正するたびに
バージョンが上がるってことになるんですが?
まさか、中身が変わってるけど
バージョン番号が変わってないなら
同じバージョンだって言うんじゃあるまいな?w
それに比べりゃ、複数のコード修正を一括して適用して
バージョンアップするほうが、よっぽどバージョンアップの回数は少ないよw
28:デフォルトの名無しさん
16/08/29 23:01:02.44 BFY9f7LW.net
>>25
1回目のブレーキは止まったけど2回目のブレーキは止まるの?100回目は?
テストした?
29:デフォルトの名無しさん
16/08/29 23:01:19.88 1MLmR57m.net
>>26
今お前は誰が責任とってるんだよw
自分の胸に手を当てて考えてみろw
30:デフォルトの名無しさん
16/08/29 23:02:04.20 BFY9f7LW.net
>>27
じゃあおまえ依存性の注入されたTypeScriptでバグ見つかったらどうすんの?
31:デフォルトの名無しさん
16/08/29 23:02:25.88 BFY9f7LW.net
>>29
誰だろうね?
32: ◆SEdFBOkLSw
16/08/29 23:02:54.84 v+VBJ2wi.net
>>24
なんぼでも再発明したらよろしいw
フレームはアルミで、何グラム以下で、タイヤの素材は○○で、何インチで、何キロに耐えられる車輪、
は、車輪の再発明には違いないが、その車輪としては初出だからな。
33:デフォルトの名無しさん
16/08/29 23:05:29.41 1MLmR57m.net
>>30
バグが見つかったときの対応は最初の契約で決まってる
多くは納品してから○週間までは無料で対応
それ移行は別途見積もりが普通
ブラウザやOSなどのバージョンアップも同じ。対応している環境はどれこれと指定して
それ以外の新しいバージョンも古いバージョンも動作保証はしない。別途見積もり。(別途契約があれば別)
もちろん動作保証しないのだからテストもしない。そもそも納品後の新しいバージョンでテストなんかできるかw
34:デフォルトの名無しさん
16/08/29 23:06:02.03 BFY9f7LW.net
>>32
おう、バグのないJavaScript発明しろよ
あくしろ
35:デフォルトの名無しさん
16/08/29 23:06:27.44 BFY9f7LW.net
>>33
無責任
36: ◆SEdFBOkLSw
16/08/29 23:08:37.69 v+VBJ2wi.net
>>27
そうだよ。
構成部品のどれがどう変わっても、ある製品には違いないよ。
ビルドナンバー違うけどね。
ビルドナンバーごとに構成管理してるっしょ。
一括適用は事故起きるよ。
こまめに何度もテストとVerUp。定期出荷するんだし。
>>28
ただテストしただけのバカにそれ言ったら泣いたことあるわ。
何故2回のテストで十分か、パターン教えて、単純に考えたら120c6じゃん。ここからどう絞ったの?納品として良いの?って。
37:デフォルトの名無しさん
16/08/29 23:10:04.54 BFY9f7LW.net
>>36
なるほど、それで?
38:デフォルトの名無しさん
16/08/29 23:10:47.12 1MLmR57m.net
> こまめに何度もテストとVerUp。定期出荷するんだし。
こまめに何度もテストができる状態にあれば
babel使っても、テストすりゃいいんだから
テストのコストは変わらんじゃんw
39: ◆SEdFBOkLSw
16/08/29 23:11:02.95 v+VBJ2wi.net
>>37
お前は印欧語祖のankとang調べとけw
40: ◆SEdFBOkLSw
16/08/29 23:13:38.96 v+VBJ2wi.net
>>38
だから、それじゃあbabelに依存するでしょ。
さっき言ってたけど、ブラウザのバージョン上げるけどbabel上げないとか、ポリフィル残るし無意味でしょ。
そうでなくても依存度下げてるのに意味ないじゃん。
babelが問題あったらそれこそ面倒だし、こないだもnpm自体あんなに無意味に揺れたじゃん。
何故babelにそんなにこだわんの?
41:デフォルトの名無しさん
16/08/29 23:13:48.95 BFY9f7LW.net
>>39
僕は今怒ってるんだよ?君の不誠実な態度に。
ちゃんと説明して。胸に手を当ててよく考えて。
42:デフォルトの名無しさん
16/08/29 23:13:50.26 1MLmR57m.net
>>40
アホかw
babel導入前と導入後で同じテストを流すんだよw
後々はコードを変えるかもしれんが
導入した直後はまったく一緒だ。
43:デフォルトの名無しさん
16/08/29 23:16:10.90 1MLmR57m.net
>>40
> 何故babelにそんなにこだわんの?
babelを使わずに、
ES6に対応したブラウザを使って
ES6で書いてアプリコードをテストを、
古いブラウザでそのまま動かせるから。
新しいブラウザでbabelを使わずにテストをして動いているのだから
アプリのコードとテストのコードに問題がないことは証明済み。
それをbabelを使っても正しくテストが通るのだから
これに問題がないことも証明済み。
44: ◆SEdFBOkLSw
16/08/29 23:16:46.66 v+VBJ2wi.net
こまめに改修のテストするのと、
こまめにやらなくても良いテストをやる羽目になるんじゃ、それこそコストかかるじゃん。
その会社が請けの金額内で勝手にやって確実なもの納品するなら良いけど、
何かあったらそれこそ入札させんよ。ライブラリに不備があり、なんて言い訳。
俺自身ずっとパッチ見てるし、そういうのも割と見つけるけどな。
45:デフォルトの名無しさん
16/08/29 23:17:09.64 1MLmR57m.net
もしこれがbabelじゃなかったとしたら、
例えば、CoffeeScriptだったとしたら、
それはブラウザでそのまま動かすことが出来ない。
だけどbabelであれば、babelを使わずに
新しいブラウザで動かすこともできる。
46:デフォルトの名無しさん
16/08/29 23:17:37.75 BFY9f7LW.net
お茶ペットでときめきポポロンのドラム打ってたら破裂した・・・
47:デフォルトの名無しさん
16/08/29 23:17:45.45 1MLmR57m.net
>>44
> こまめにやらなくても良いテストをやる羽目になるんじゃ、それこそコストかかるじゃん。
意味がわからん。
アプリを修正するだろ?
テストを実行するだろ?
同じじゃんか。
48: ◆SEdFBOkLSw
16/08/29 23:18:22.83 v+VBJ2wi.net
>>42
同じテストを流すから何なの?
同じテストなら金掛からんの?
全く動作変わらないの?
じゃあ、何故VerUpする必要があるの?
>>43
未証明。
こないだもスコープ抜けあったでしょ。
49:デフォルトの名無しさん
16/08/29 23:19:14.09 1MLmR57m.net
>>44
> 何かあったらそれこそ入札させんよ。ライブラリに不備があり、なんて言い訳。
ライブラリに不備があろうがなかろうが、
テストコードが通ればOKだしテストコードが通らなければNG
テストコードが通ってもバグが有るのなら、
それはライブラリの問題じゃなくて
テストコードを書いた開発会社の問題。
ライブラリの問題じゃない。
っていうか、ライブラリにバグがあれば
テストコードは失敗するってわかってる?
50:デフォルトの名無しさん
16/08/29 23:19:40.65 BFY9f7LW.net
おまいらのノリに合わせて基地害演じるの疲れるんだけど
君たち素なの?お酒飲んでる?
51: ◆SEdFBOkLSw
16/08/29 23:19:43.79 v+VBJ2wi.net
>>47
誰が、どう、テスト結果を検収して、どうリリースノート書いて、どうリリースして、どう立ち会って、どう研修印貰うの?
動くはずだからどーぞ使ってくださいの世界じゃねえぞ。
52:デフォルトの名無しさん
16/08/29 23:20:28.64 1MLmR57m.net
>>48
> 同じテストなら金掛からんの?
> 全く動作変わらないの?
お前何のためにテスト書いてるんだよw
中身が変わっても(改修を行っても)正しく動くことを
証明するためにテスト書いてるんだろw
53: ◆SEdFBOkLSw
16/08/29 23:20:35.83 v+VBJ2wi.net
>>49
違うわw
54: ◆SEdFBOkLSw
16/08/29 23:21:40.95 v+VBJ2wi.net
>>52
改修しても、正しく動く事を目的にテストしとんのだ。
誰のなんのどの金使うんだよそれに。
55:デフォルトの名無しさん
16/08/29 23:22:14.47 1MLmR57m.net
>>51
お前IE使ってるんだよな?
IEのソースコード見れないよな?
それでテストしてるんだろ?
中身が見れなくてもテストしてるんだろ?
それと同じなんだが。テストって言うのは中身の実装に対してやるもんじゃないんだよ。
中身がどうであれテストの内容は同じものになる。
だから、お前がいう
誰がどうテスト結果を研修して~の内容も
babelを使ったときと使わないときで何も変わらない。
56:デフォルトの名無しさん
16/08/29 23:22:46.60 BFY9f7LW.net
でもTypeScript便利だよね
57:デフォルトの名無しさん
16/08/29 23:23:18.10 1MLmR57m.net
>>54
> 改修しても、正しく動く事を目的にテストしとんのだ。
改修しても正しく動くことを目的とした
テストが自動化されてるんだろ?
じゃあ、中身をどう変えたところで
テスト内容は何も変わらんだろ。
58:デフォルトの名無しさん
16/08/29 23:25:37.41 BFY9f7LW.net
テストって何?
あの誰も読まないテスト項目書に丸付けたあと適当にモンキーテストするやつ?
それともたまにしか通らないバグコードを増やすだけのUnitTest?
59:デフォルトの名無しさん
16/08/29 23:28:55.81 1MLmR57m.net
>>58
ユニット(単体)テスト+結合テスト+統合テスト
困ったことにこれらの用語と意味する内容は
会社ごとに微妙に違う。
これらすべてが自動化されていることが理想。
特にウェブアプリは、一般的にブラウザもOSも
バージョンが頻繁に上がるから、自動化されてないとやっていけない。
ここまではbabel導入とは関係ない話な。
で、自動化されてるならば、babel導入しても
テストは変わらないんだからコストも変わらんという話をしてうr。
60: ◆SEdFBOkLSw
16/08/29 23:29:05.16 v+VBJ2wi.net
>>55
だから、
babelのバージョン上げる、babelでどうの、が全部要らなくなるよな。使わなければ。
使わないときと使ったときでは明らかに違うじゃん。
babelのバージョン上がったからテスト、が一切無いんだし。
babelのバージョン上げねばならん、も一切無い。
文化オリエントに依存して死んでった会社みたい。
>>57
「改修しても」な。要望出した客か、不具合出した会社の「改修」が金出すわな。保守費からの間接か、スポット契約ならなおさら。
babelのテスト~納品、検収。
これ誰の持ちだし?
61:デフォルトの名無しさん
16/08/29 23:30:14.67 1MLmR57m.net
>>60
> 使わないときと使ったときでは明らかに違うじゃん。
babelを使ったときと使わないときでテストの内容は変わらん。
何を言ってるんだ?
お前はどんなテストを書いてるんだ?
それがどう変わるのか言ってみろよ。
62: ◆SEdFBOkLSw
16/08/29 23:30:21.50 v+VBJ2wi.net
>>55
ちなみに、IEがどうのというが、契約次第だよ。
63: ◆SEdFBOkLSw
16/08/29 23:31:01.12 v+VBJ2wi.net
>>61
テストの内容じゃなくて、テストの意味と金。
64:デフォルトの名無しさん
16/08/29 23:31:23.80 1MLmR57m.net
> babelのバージョン上がったからテスト、が一切無いんだし。
意味が全くわからん。
その理屈だとブラウザのバージョンが上がったらからテストだって一切ないよな?
65: ◆SEdFBOkLSw
16/08/29 23:31:59.18 v+VBJ2wi.net
>>61
続き書いてんのに、自分が理解できない事が出てきたら読めなくなる病気にでもかかってんのかな。
66: ◆SEdFBOkLSw
16/08/29 23:32:52.90 v+VBJ2wi.net
>>64
は?
babelのバージョン上がったからテスト、がなんで無いと思う?
使ってないからだよ。
67:デフォルトの名無しさん
16/08/29 23:33:10.79 1MLmR57m.net
>>63
お前が言ってるテストって何のテストをしてるんだ?
普通は単体テストであれば、
関数に引数を与えて答えがちゃんと帰ってくるかなんだが、
そこに関数の中身がどうなってようが関係ないだろ。
単体テストじゃないならばもっと関数は関係ない。
アプリの動作が全く同じならば、中身が何で作られてようが
全く関係ない。
68:デフォルトの名無しさん
16/08/29 23:33:38.78 BFY9f7LW.net
>>66
JavaScriptのバージョンが上がったらどうすんの?
69: ◆SEdFBOkLSw
16/08/29 23:34:21.31 v+VBJ2wi.net
>>67
総合テスト。
関係あるから言ってんじゃん。
70:デフォルトの名無しさん
16/08/29 23:34:21.71 BFY9f7LW.net
>>67
でもbabelで作ってたらbabelのためにbabelのテストしないとだよね?
71:デフォルトの名無しさん
16/08/29 23:34:37.44 1MLmR57m.net
>>66
お前が言ってる内容は
お前にしか通じんわw
だから他の人に聞く
> babelのバージョン上がったからテスト、がなんで無いと思う?
これの意味を説明してくれ(もし理解できる人がいるならばだ)
どうせ誰も説明できないさw
それこそ意味不明である証拠だからね。
72: ◆SEdFBOkLSw
16/08/29 23:34:55.86 v+VBJ2wi.net
>>68
上げない。
上げるときは、予算とってやるよ。
73:デフォルトの名無しさん
16/08/29 23:35:11.30 1MLmR57m.net
>>70
> でもbabelで作ってたらbabelのためにbabelのテストしないとだよね?
いらない。というかそのテストの一例を書いてみてくれ。
74:デフォルトの名無しさん
16/08/29 23:35:45.37 BFY9f7LW.net
>>59
そのテスト自動化されてる環境が、
今の日本にどれだけあると思ってるの?
75:デフォルトの名無しさん
16/08/29 23:36:18.74 1MLmR57m.net
>>72
予算取るのかよ(爆笑)
76:デフォルトの名無しさん
16/08/29 23:36:37.95 BFY9f7LW.net
>>71
じゃあおまえPHP使ってないだろうけど今すぐPHPのテストしてこいよ
77:デフォルトの名無しさん
16/08/29 23:36:49.46 1MLmR57m.net
>>74
自動化されてないならば、
どうやってブラウザがバージョンアップしたときの
テストをしているのか教えてくれ。
78:デフォルトの名無しさん
16/08/29 23:36:58.58 BFY9f7LW.net
>>72
銭ゲバSE
泥棒
79: ◆SEdFBOkLSw
16/08/29 23:37:57.57 v+VBJ2wi.net
>>71
次の行に書いてんのになぁ。
あるネジのあるロットに不備があるから、そのネジ使ってる製品全部リコール、
の、リコール対象って、ネジ使ってる製品だけじゃん。
80:デフォルトの名無しさん
16/08/29 23:38:08.25 BFY9f7LW.net
>>77
みんなで手と手を取り合って愛と根性でテストするんだよ
日本の伝統文化だよ、ゲイシャフジヤマニンゲツ
81:デフォルトの名無しさん
16/08/29 23:38:36.70 BFY9f7LW.net
>>75
誰の金で飯食えてると思ってるんだ、クソニートが
82:デフォルトの名無しさん
16/08/29 23:38:38.48 1MLmR57m.net
>>79 >>80
なら、そのぽちぽちとやる人海戦術のテストの前に
babelを導入すれば、テストは一回ですみますよねw
83:デフォルトの名無しさん
16/08/29 23:39:55.78 BFY9f7LW.net
>>82
バベルのバージョンが上がったらどうすんの?
84: ◆SEdFBOkLSw
16/08/29 23:40:18.43 v+VBJ2wi.net
>>75
取るわwだれがタダで働くかww
>>78
なんとでも言えwその代わり出した金の分はきっちり二次請けがどう泣こうが品質保証する。盲判でリリースしてないから安心して金出してくれ。
85:デフォルトの名無しさん
16/08/29 23:41:35.61 BFY9f7LW.net
>>84
跋扈の範囲内なのに・・・
86:デフォルトの名無しさん
16/08/29 23:42:40.99 BFY9f7LW.net
>>73
No 内容 期待値
1 テストデータを用意する。 正常に購入完了できること。
はいどうぞ
87: ◆SEdFBOkLSw
16/08/29 23:47:14.95 v+VBJ2wi.net
>>86
最悪のテスト。
テストに「正常」と言う言葉を使って、「正常となる」とテストすんなバカ。
何がどう正常かを定義してその通りだと確認すんのがテストだよ。
88:デフォルトの名無しさん
16/08/29 23:47:42.65 BFY9f7LW.net
糞社畜ども
そろそろ寝る時間だよ
明日は交通機関が止まる可能性があるんだから1h前に家を出るんだよ
台風程度で遅刻する社会不適合者のゴミ屑は上司のウンコ喰って死ぬのが
この国の伝統文化だからね
89:デフォルトの名無しさん
16/08/29 23:49:15.00 BFY9f7LW.net
>>87
自分で考えろ、ガキじゃないんだから
適切なデータを用意して、正常に動作することを保証するんだよ
行間を嫁って小学校の国語の授業で習わなかったのか?
そんなの上司に質問したら張り手もんだぞ
90: ◆SEdFBOkLSw
16/08/29 23:49:20.25 v+VBJ2wi.net
>>88
さすがに1hくらい時差出勤しなよ…
コアタイムには間に合うだろ。
91:デフォルトの名無しさん
16/08/29 23:51:15.79 BFY9f7LW.net
>>90
コアタイム9-18時
1時間前に出社して社屋の清掃
その1時間前に余裕を持って出社する
92:デフォルトの名無しさん
16/08/29 23:54:05.50 BFY9f7LW.net
君たちにはアジャイル力が圧倒的に足りない
細かい言葉の違いなんかしょうもないことを気にせずテストは気楽に
ドキュメントは書いてはいけない
93:デフォルトの名無しさん
16/08/29 23:56:37.04 BFY9f7LW.net
俺の貴重な夜が糞バカどもとの糞バカみたいなレスの欧州で終わった
損害賠償もんですわ
94: ◆SEdFBOkLSw
16/08/29 23:59:07.49 v+VBJ2wi.net
>>93
楽しかったよ。
でもお前酔ってるだろw
95:デフォルトの名無しさん
16/08/29 23:59:13.57 BFY9f7LW.net
aaaaaaaaaaaa今日がおわるうううううううううううううuuuuuuuuuu
96: ◆SEdFBOkLSw
16/08/30 00:00:49.86 aQC/u3Rc.net
瑕疵の範囲かと思って、よく見たら跋扈の範囲だったのが面白かったわ。
反復横飛びじゃねえよ。
97:デフォルトの名無しさん
16/08/30 00:08:00.53 vxcmsfn4.net
世界広と言えども、jsでここまでしょーもない話題で盛り上がれるスレはここしかないと思う
98:デフォルトの名無しさん
16/08/30 00:44:53.70 h5DGk6QO.net
本スレから分かれたのは何故?
明らかに主題と離れているから?
それとも、ワッチョイがコワいから?
99: ◆SEdFBOkLSw
16/08/30 01:11:41.90 aQC/u3Rc.net
>>98
俺が立てたから気に食わんのだろう。
雑談スレにすれば?
ブラウザとは全く関係のない、そして、古いJavaScriptではなく本人曰く、唯一無二の最新のJavaScriptの質問が来るまで。
100:デフォルトの名無しさん
16/08/30 09:36:39.00 JoG6iYvQ.net
>>98
プログラマ板の趣旨からは外れているからですね。
掲示板にこのように書かれています。
URLリンク(echo.2ch.net)
> プログラム・ソフトの使い方はパソコン初心者板やソフトウェア板へ。
> ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
> Javascript はweb制作管理板、CGI はWEBプログラミング板へ。
> 業界談義、愚痴はプログラマー板へどうぞ。
JavaScriptは本来Web制作管理板なんですよ。
だからブラウザ専用の話がしたいならそっちでやるべき。
だけど、これが書かれたのはJavaScriptがブラウザでしか動かなかった時代の話で、
サーバーサイドJavaScriptがWeb制作管理板とは思えない。
なのでこちらは純粋に言語の話と普通のコンパイラ言語のように
ビルド周りの話に切り分けるべきでしょう。
その話をWeb制作管理板でやるのは荷が重すぎますからね。
あちらはウェブデザイナーに毛が生えたようなレベルですから。
101:デフォルトの名無しさん
16/08/30 10:31:44.92 rnePWv6a.net
ビルド周りの話?
まあそれもいいかもしれんがECMAScriptとスレタイにつけた限りは
過去のESスレのように仕様周りの話も期待させてもらうぞ。
どのみち、このスレはあまり業務向けではないな。
102: ◆SEdFBOkLSw
16/08/30 11:56:39.50 7P5106vD.net
>>100
ビルド周りがわからんなぁ。
ES5で書いてても、node動いてるならム板でいいんじゃねえの?逆に。
ビルドするか、せずに使うかは好き好きだし。
ビルドするならブラウザの話もしても良いみたいな論調に聞こえるなぁ。
「純粋に言語の話」と「普通のコンパイラ言語」がビルドで別れてるわけでもあるまいて。
ビルドする処理系も、しない処理系も、しないけどJITな処理系もあるんだし。言語自体も、コンパイラとは全く関係ないじゃん。
「バベる話は含みます」と言いたい事言えばいいのに。
103:デフォルトの名無しさん
16/08/30 18:30:50.76 rnePWv6a.net
別に明確な線引は必要ない。
整理しなきゃならないほどレス多くないんだから。
あくまで目安よ。目安。
104:デフォルトの名無しさん
16/08/30 21:24:04.22 vxcmsfn4.net
>>102
でもおまえbabelアンチじゃん?
105:デフォルトの名無しさん
16/08/30 21:55:39.79 JoG6iYvQ.net
>>102
> ES5で書いてても、node動いてるならム板でいいんじゃねえの?逆に。
> ビルドするか、せずに使うかは好き好きだし。
そう書いたつもりですけど?
> 「バベる話は含みます」と言いたい事言えばいいのに。
babel語なんてものは存在しない。っていうかもしかして知らないの?
babelでトランスパイルするように書いたコードにbabel専用の特別な命令なんかない。
最新のブラウザであればそのまま動くコード。
> 言語自体も、コンパイラとは全く関係ないじゃん。
あんたが言ったとおり。言語自体はトランスパイラ(babel)とは全く関係ない。
JavaScrpt(=ECMAScript)の部分はブラウザでもnodeでも同じように動く。
nodeで動かないのはDOMの部分だけ。DOMの部分というのは
windowホストオブジェクト経由で参照するもの。
そもそもJavaScriptはプログラム言語なのだから、この板対応だと思うが、
なぜかム板のルールでWeb制作版に追いやられてる。
(昔はウェブ専用の簡易スクリプトでしかなかったからだと思うが)
俺としてはJavaScriptの話をム板でやるのは問題ないと思うが、
Web制作版にもJavaScriptスレは必要というのなら、
DOM関連の話をWeb制作版に持っていこうという話。
106:デフォルトの名無しさん
16/08/30 22:46:30.57 rnePWv6a.net
DOMっていうくくりが適切かは分からんけどな。
昔はDOMだったPromiseみたいにWebと関係ない独立したAPIも多いしね。
ブラウザだってWebサイトを回覧するためのものだけではなくなってて
Web自体がプラットフォーム化してる今APIで区切っても仕方ない。
107:デフォルトの名無しさん
16/08/30 22:49:09.04 JoG6iYvQ.net
> 昔はDOMだったPromiseみたいに
昔からPromiseはDOMじゃないよ。
108:デフォルトの名無しさん
16/08/30 22:56:53.51 JoG6iYvQ.net
そんな話聞いたこと無いので、昔のPromiseがどれのことを
指しているか知らんけど、
PromiseがJavaScriptの世界に提唱された初期の文書は
これなんだがURLからもわかるとおりCommonJSから生まれた
URLリンク(wiki.commonjs.org)
CommonJSっていうのはサーバーサイドJavaScript
109:デフォルトの名無しさん
16/08/30 23:29:26.97 rnePWv6a.net
DOM Promiseも歴史も知らんのか。
勉強しなおしてきなさい。
110: ◆SEdFBOkLSw
16/08/31 00:33:00.02 hBi44Zvn.net
>>104
アンチでもないよ。
あれは処理系として数えたいだけ。
ただのAltJS。
>>105
専用の命令でもあるし、汎用の命令でもあるよ。
解釈のされ方の問題だってば。
問題ないと思うが、と思うなら変な応酬も復讐まがいのこともせんと、受け入れれば良いんじゃねえの?
勝ち負けにこだわる人だこと。
>>109
こいつその辺の話知らんよ。
そもそも大体殆どのものが借用語みたいな言語だって事も理解してない。
JavaScriptとは関数が一級市民で、って話も、いつぞやドヤ顔でしてたけど、
原始再帰関数もリストも知らん、lispもerlangも見たことないカスだから。
111:デフォルトの名無しさん
16/08/31 01:42:04.32 mbRHTL3V.net
>>109
それは標準化されてない
112:デフォルトの名無しさん
16/08/31 01:44:35.04 mbRHTL3V.net
しかもFutureという名前
URLリンク(www.html5rocks.com)
> JavaScript Promise は、最初 "Future" という名前で DOM の一部として実装されていたのが、
> 後に "Promise" と改名されて、最終的に JavaScript の一部として実装されました。
113: ◆SEdFBOkLSw
16/08/31 02:01:42.67 hBi44Zvn.net
>>112
最初、と、最終的に、の間に何があったと思ってるんだろう。
114:デフォルトの名無しさん
16/08/31 08:18:41.23 j/FYmeM2.net
>>112
すまんな。俺が最初に>>106で要らんちょっかい書けたのが悪かった。
もう事実に関係なく意味のない、相手の意見をどうにか覆すためだけの
単なる言葉の掛け合い合戦になってるのは分かるだろう?
ここらで終わりにしようや。
115:デフォルトの名無しさん
16/08/31 09:31:50.57 mxX4GOAr.net
どもまだ◆SEdFBOkLSwが納得してないようだが、
これが初期のJavaScript1.1という仕様書
URLリンク(www.planetpdf.com)
この段階からDOMはJavaScriptという言語の中に入ってなかったんだよ。
それは今も変わらずで、DOMはJavaScriptの仕様の範囲に入ってないから
ブラウザがDOMを作成して、それをJavaScriptの環境から参照できるようにしている。
これがブラウザでない場合はDOMはではなく、別のものになる。
◆SEdFBOkLSwはどうも曲解してこれを認めないから聞くだけ無駄だが、
この話が違うって言いたい人いる?
116:デフォルトの名無しさん
16/08/31 12:36:42.81 05Cg2vNV.net
すみません
親クラスのプロパティを子クラスと共有する方法は何か無いでしょうか
117:デフォルトの名無しさん
16/08/31 17:46:15.73 j/FYmeM2.net
具体的にどうぞ。
普通に考えて継承関係にあるなら共有されてるじゃん。
118:デフォルトの名無しさん
16/09/01 01:28:37.64 G09cpOvF.net
すごい、こんな実用的なjavascriptの使い方を始めて見た
comic loスレより転載
パス:sage
URLリンク(www1.axfc.net)
119:デフォルトの名無しさん
16/09/01 01:31:37.14 qZMo0Rlk.net
>>116
具体的なコードを書いてくれないと意味がわからない。
例えばこれはMDNから持ってきたサンプルだが、
親クラス(Animal)のプロパティ(name)を子クラスと共有している。
URLリンク(developer.mozilla.org)
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(this.name + ' makes a noise.');
}
}
class Dog extends Animal {
speak() {
console.log(this.name + ' barks.');
}
}
120: ◆SEdFBOkLSw
16/09/01 07:33:51.65 yxBt3oxw.net
>>115
なんでこう、曲解に曲解を重ねたり、
俺が納得するしないにこだわんのかね。
間違ってる部分が1ミリでもあるうちは、納得しないに決まってんじゃんねえ。
納得させたいのか、勝ちたいのか、認めさせたいのか、
自分の知識が不安なのかはっきりしろよ。
121:デフォルトの名無しさん
16/09/01 08:56:57.32 +FVjZRJv.net
>>120
お前に聞いてねーよw
ほれ見ろ、誰ひとりとして俺が言ってることが
間違ってるとは言ってないじゃないかw
122:デフォルトの名無しさん
16/09/01 09:30:51.00 +FVjZRJv.net
ちなみに>>119はChromeやFirefoxやEdgeで動く
適切なJavaScript(≒ECMAScript)コードであるが、
babelを使って古いIEなどで動かすことができる。
重要なのはこれをbabelで変換するからと言って
babel専用の構文ではない。
123:デフォルトの名無しさん
16/09/01 09:32:58.55 +FVjZRJv.net
◆SEはそれを分かってないんだと思う。
おそらく、babel専用の共通の文法から
新しいブラウザ向けにclassに変換 or 古いブラウザ向けにfunctionに
変換するんだと思っているんだろうね。
AltJSはたしかにそれに近いが、babelは
新しいブラウザ向けの構文を変換するので
babel専用の文法なんてものは存在しない。
124:デフォルトの名無しさん
16/09/01 09:51:14.48 5kBL1onl.net
BabelHelperとかいうクソみたいな関数が自動生成されるのは俺の目の錯覚だったか
125: ◆SEdFBOkLSw
16/09/01 11:24:18.20 4NaaelJA.net
>>123
わかってるって(笑)
専用の文法とも、専用の言語とも言ってないだろ。
ただ、babelで使うために書いたのであれば、
FireFoxで使うために書いたコードがFireFox向けに書いたコードであるのと同様に
babelで使うために書いたコードは、babel向けに書いたコードであって、ネイティブなFireFoxの為に書いたコードとは意味合いが違うって言ってんじゃん。
webpackも同じ。
専用では無いよ、babelの為に書いたコードだってば。
そういう意味で、ほかのaltJS用のコンパイラに対して書いた言語と「立ち位置」が同じなの。
126:デフォルトの名無しさん
16/09/01 19:58:52.56 +FVjZRJv.net
> ただ、babelで使うために書いたのであれば、
だから、そんなのが存在しない。
babelの存在は忘れろ。
ES6で書いてるだけだ。
知ってるか?ブラウザ内部でES6は
ネイティブコードに変換�
127:ウれてるんだぞ?
128:デフォルトの名無しさん
16/09/01 20:00:45.39 +FVjZRJv.net
>>125
もしかしてクロスブラウザの開発をやってないの?
まさか、Firefox向けのコード、IE向けのコード
Chrome向けのコードって、完全にファイルが違うのか?
129:デフォルトの名無しさん
16/09/01 20:01:38.52 +FVjZRJv.net
> FireFoxで使うために書いたコードがFireFox向けに書いたコードであるのと同様に
> babelで使うために書いたコードは、babel向けに書いたコードであって
この理屈だと、FirefoxもaltJSと立ち位置が同じってことになるが?
130:デフォルトの名無しさん
16/09/01 20:04:32.89 6CqO2Avn.net
誘導されてきました。
promiseのチェーンをn個動的につなげたいときはどうしたらいいの?
a().then(b).then(c).then(d);
これをこう書き
function run(a){
return a[0]().then(a[1]).then(a[2]).then(a[3]);
}
a[] を4個固定じゃなくてn個にしたい
131:デフォルトの名無しさん
16/09/01 20:11:11.58 np9Y5BfB.net
>>129
ネットでググるとreduceを使った例がよく出てくるけど、
forを使った例の方がわかりやすいと思う。
// 初期値として解決済みのpromiseを入れておく、
// これはthenメソッドを使えるようにするため。
var p = Promise.resolve();
for (var i = 0; i < 10; i++) {
p = p.then(function() {
return a[i]();
});
}
// ES6版
for (let i = 0; i < 10; i++) {
p = p.then(() => a[i]());
}
ようするにp変数に入っているpromiseに対してthenを実行して作った
新たなpromiseにどんどん入れ替えていけばいい。
reduceを使ったコードはこれを単に書き換えただけ。
132:デフォルトの名無しさん
16/09/01 20:14:21.32 Wbd9Msfr.net
>>125
> FireFoxで使うために書いたコードがFireFox向けに書いたコードであるのと同様に
> babelで使うために書いたコードは、babel向けに書いたコードであって
babelというブラウザがあるわけじゃないんだけど?
Firefoxで使うために書いた(babelで変換する)Firefox向けのコードならあるよ。
でもbabelで使うために書いたコードなんてものはない。
babelは変換しかしないわけで、そのコードを使うのはFirefoxやChromeやIE。
そこをあんたは勘違いしてるんじゃない?
133:デフォルトの名無しさん
16/09/01 20:24:24.66 gqH8EeeU.net
あ、なるほどw
◆SEdFBOkLSw は babelというブラウザの上で
実行するって勘違いしてるんだw
もしくはbabelとnodeを勘違いしてるとかだな。
134:デフォルトの名無しさん
16/09/01 20:34:43.59 scPPFiSF.net
>>125
> babelで使うために書いたコードは、babel向けに書いたコードであって、ネイティブなFireFoxの為に書いたコードとは意味合いが違うって言ってんじゃん。
これがbabelで使うために書いたコード
let func = () => console.log('hello');
これがネイティブなFirefoxのために書いたコード
let func = () => console.log('hello');
何が違うのか教えてほしい。
135:デフォルトの名無しさん
16/09/01 21:48:08.46 scPPFiSF.net
意味合いが違うとは言ってるが
どう違うかは何も言ってない。
136: ◆SEdFBOkLSw
16/09/01 22:01:56.97 x5Fi8ahc.net
>>126
アホか。
>>127
完全には違わんよ。
多少は足周りは違うな。
>>128
頭おかしいのか?
>>132
違うわ。お前が理解なさすぎ。
>>133
処理系が違う、だな。
babelで処理したJSが実際に動かすのは、下記コードで、ES6ではない。
'use strict';
var func = function func() {
return console.log('hello');
};
匿名関数で無くなってるよね。
137:デフォルトの名無しさん
16/09/01 22:05:27.31 scPPFiSF.net
>>135
これがbabelで変換して出力されたコード
'use strict';
var func = function func() {
return console.log('hello');
};
これがネイティブなFirefoxのために書いたコード
'use strict';
var func = function func() {
return console.log('hello');
};
何が違うのか?
138:デフォルトの名無しさん
16/09/01 22:12:28.00 scPPFiSF.net
もしかしてさ、テストを書いてリファクタリングして
よりシンプルに書き直して、以前と全く同じように動くコードなのに、
元のコードとは記述が違うから、そういう修正はするなって言うタイプの人なの?
139: ◆SEdFBOkLSw
16/09/01 22:16:55.85 x5Fi8ahc.net
>>136
それES6じゃないじゃん。正確にはES6でもあり、お前が否定していた古いJavaScriptじゃんww
$msg='hello world';
echo $msg;
が、perlなのかphpなのかは、どっちに食わすかによって決まるんじゃねえの?
何か違うか?見た目も動作も同じだけど、別物だよね。
>>137
手弁当で全部終わらせるんならいいんじゃね�
140:[の? 予算使うなら、余計なことすんなって言うけど。
141:デフォルトの名無しさん
16/09/01 22:19:19.19 scPPFiSF.net
>>138
古いJavaScriptだからなの?
babelで変換した結果とFirefoxがネイティブで動かすコードは
全く一緒なのに何が問題なの?って聞いてる。
重要なのは同じように動くこと(仕様を満たしていること)であって
中身の実装なんてどうでもいいでしょw
142:デフォルトの名無しさん
16/09/01 22:20:42.89 scPPFiSF.net
>>138
> が、perlなのかphpなのかは、どっちに食わすかによって決まるんじゃねえの?
> 何か違うか?見た目も動作も同じだけど、別物だよね。
どちらもFirefoxに食わせていますよw
babelで動かすんじゃなくて
babelで変換したコードをFirefoxで動かすか、
babelで変換しないコードをFirefoxで動かすかって
話をしてるんだから。
143:デフォルトの名無しさん
16/09/01 22:27:03.04 scPPFiSF.net
>>138
お前が何を不安がっているのかわかったわw
前提条件: どちらも同じブラウザFirefoxで動かします。
1. ES6のコードをそのままFirefoxで動かす
(※ES6のコードのテストの結果は当然問題ない)
2. ES6のコードをbabelで変換してESにしたコードをFirefoxで動かす
(※ES5のコードのテストの結果は当然問題ない)
どちらもテストでOKとでてるのに、もしかしたら
バグがあるんじゃないか?って思ってるだろw
144:デフォルトの名無しさん
16/09/01 22:40:53.56 UGSC1Nbq.net
美しいソースを志すプログラマからしたら自動生成には美学をまるで感じない
男なら黙ってprototype
不便に堪えて手書きでNative JavaScript
という冗談はともかく、納品するスクリプトはクライアントが使うんだから変な書き方も最新の玩具も使わずにネイティブのみで分かりやすくコメント添えながら書くのが普通じゃないのか?
145:デフォルトの名無しさん
16/09/01 22:40:55.87 Yfa1ihki.net
babelがたまたま実行結果が読めるというだけで
ブラウザみたいな巨大なブラックボックスと区別する意味がよく分からん
146:デフォルトの名無しさん
16/09/01 22:46:12.95 scPPFiSF.net
>>142
ネイティブかどうかは重要じゃない。
正しく動くことが重要。
そのためにテストをするんだよ。
147:デフォルトの名無しさん
16/09/01 22:50:05.31 scPPFiSF.net
>>143
だよね。例えば内部でES6をES5に変換してから
実行するブラウザがあったっておかしくない。
そもそもJavaScriptなんてコンパイルして
バイナリにてから動かしているわけで、
そのバイナリなんてブラウザが違ったら違うだろうし、
同じブラウザでもバージョンアップしたら違う可能性もある。
どういう変換が行われて実行されるかは大した問題じゃない。
仕様通りに動いているかが重要。
148: ◆SEdFBOkLSw
16/09/01 23:09:24.58 x5Fi8ahc.net
>>141
全然わかってねえじゃん。
149:デフォルトの名無しさん
16/09/01 23:15:55.41 scPPFiSF.net
>>146
ん?ってことは、
ES6をbabelで変換してFirefoxで動かすのと
ES6をそのままFirefoxで動かすのは
全く同じだってことでいいかい?
はい か いいえ で答えてくれ。
150:デフォルトの名無しさん
16/09/01 23:21:14.21 uGmloWI1.net
>>122
細かい話だけど、extendsは古いブラウザでは完全にエミュレートされないよ。
extendsはprototypeだけでなくstaticなメソッドも継承する。
つまり、任意のプロトタイプを持つコンストラクタを作れないと行けないのだけど、
これはES2015以前ではブラウザの独自実装の__proto__を使わないと実現できない。
151:デフォルトの名無しさん
16/09/01 23:25:45.46 scPPFiSF.net
>>148
完全にエミュレートできないことでバグになることはなく、
エミュレートできない機能を使っていればバグになる。
でも、それを含めてテストするわけだからね。
動かないならテストで分かる。
ブラウザ間の互換性がない問題と同じよ。
互換性がない部分があっても、テストで動けば問題ない。
152:デフォルトの名無しさん
16/09/02 00:00:38.90 OcKaQeg4.net
>>149
客「IE8で動かないんだけど?」
153:デフォルトの名無しさん
16/09/02 00:01:45.81 gFIXdWf6.net
>>150
IE8でテストしろよw
154:デフォルトの名無しさん
16/09/02 00:04:27.07 gFIXdWf6.net
うーん、マジで分かってない気がするわ。
テストコードっていうのは、一つ書くだけで
それをどのブラウザでも実行可能にしておくものなんだよ。
もちろん同じテストを何度も短時間で実行できる。
いろんなブラウザが有って色んなバージョンがあって
バージョンアップが頻繁なウェブの世界ではそれができてないと
やってられないでしょ?
コードを修正するたびにサポートしてる全ブラウザ
(IE8をサポートするのならIE8以上)で全部テストしてる。
155: ◆SEdFBOkLSw
16/09/02 00:28:38.18 nUqjDcPO.net
>>147
いいえ、だな。それは。
全く同じではない。挙動が同じでも。
>>149
エミュレートできないコードを使わない、って事は、
エミュレート前提で書いてて、やっぱ違うんじゃねえの?そういう意味でもないけど。立ち位置の話は。
>>152
テストコードが一つでいいわけ無いじゃん。。
単体ならいざ知らず。
156:デフォルトの名無しさん
16/09/02 00:29:55.10 OcKaQeg4.net
IE8で開いたことあるならBabelが如何に実用性が低いかくらい察しとけよ……
157: ◆SEdFBOkLSw
16/09/02 00:34:20.17 nUqjDcPO.net
>>154
babelでトランスパイルするために書いたJSと、webkitで動かす為のJSが、同じES6で記述するから意味論的にも同じスクリプトなんだってさw
コンパイラや実行環境の為のスクリプトじゃなくて、言語仕様で、それが同じものか決まるらしい。
意味としては前者はなんの意味もなく、立ち位置的にはAltJSの類と同じ意味のものだと思うんだけどね。
158:デフォルトの名無しさん
16/09/02 00:35:15.71 gFIXdWf6.net
>>154
> 全く同じではない。挙動が同じでも。
なら挙動が同じ場合に何が問題になる?
そこだよね。挙動が同じななのに全く同じではないというだけで
問題点を今までなにも言ってない。
例えば、
var foo = function() { console.log(123) }
foo()
と
function foo() { console.log(123) }
foo()
は、全く同じではないと言うだろう。
そう、全く同じではないと言うだけで、
何が問題かを言わない。
159:デフォルトの名無しさん
16/09/02 00:37:02.54 gFIXdWf6.net
>>153
> テストコードが一つでいいわけ無いじゃん。。
じゃあいくつ用意するんだよ?
なお普通のウェブサイトであり使うブラウザは
ユーザーが決めることなので、まったく制御できないものとする。
いくつ用意するんだよ?じゃなくて
いくつ用意してるんだよ?って聞いたほうが良いなw
160:デフォルトの名無しさん
16/09/02 00:41:24.46 gFIXdWf6.net
>>155
> babelでトランスパイルするために書いたJSと、webkitで動かす為のJSが、同じES6で記述するから意味論的にも同じスクリプトなんだってさw
意味はどうでもいい。
重要なのは動作。
実行された結果が同じであれば、
それは正しく動くといって良い。
例えばJavaScriptは、ARM搭載したAndroidと
Intel CPUを搭載したWindowsで、
違う機械語で動くいているが、そんなこと関係ないだろ?
161: ◆SEdFBOkLSw
16/09/02 00:45:42.23 nUqjDcPO.net
>>156
だから、問題だとかそうじゃないって。
その問題は、babelで変な地雷踏みたくないとかそういう問題であって(それは無いと言うなら、githubで何件openあるか数えてこい)
何より単純に、目的が違うって言ってんの。
トランスパイラに任せるためのソースコードと、それ自身がネイティブで動くためのスクリプトだって。
日本語が読めない外国人のために、社内の人への翻訳依頼のための書く文書と、社外の日本語がわかる外国人に出す文書は、
例え同じフォーマットで同じ内容が書いてあって、即ち同じ文書でも、目的も意味も違うでしょ。
社内の人への文書の方は、それ単体では全く意味をなさないの。
162:デフォルトの名無しさん
16/09/02 00:46:44.70 gFIXdWf6.net
>>155
> 意味としては前者はなんの意味もなく、立ち位置的にはAltJSの類と同じ意味のものだと思うんだけどね。
AltJSのAltってどういう意味か知ってる?
Altnative(代案)って意味だよ
Altnative JavascriptっていうのはJavaScriptの代案。
そしてAltJSというのは具体的に言えば、
TypeScript、CoffeeScript、Dartなどの"プログラミング言語"
はぁ~、いいから調べてきてごらん。
AltJSっていうのは言語のことだからさ。
babelは言語ではなくてトランスパイラ。
言語はFirefoxでも動くECMAScript。
AltJSのような別言語じゃないの。
全くジャンルが違うのだから「同じ意味」になるわけないだろ
163: ◆SEdFBOkLSw
16/09/02 00:51:18.87 nUqjDcPO.net
>>158
どうでも良くないから言ってんじゃん。
お前が馬鹿だから同じだ、どうでもいい、なぜなら「多分同じ動きをしているから」だっていうならそうなんだろ。openの数は見えないみたいだけど。
>Androidとwindows
CPUは関係ないが、ブラウザは関係あるっしょ。
caniuseでも見てこいよ。
だからターゲット依存だって言ってんのに。
164: ◆SEdFBOkLSw
16/09/02 00:53:33.61 nUqjDcPO.net
>>160
だから、立ち位置だって言ってるじゃん。
お前ホントに馬鹿だな。
AlternativeなJavaScriptでしょ、ES6以前のJavaScriptから見れば。
AltJSは別言語?
機械語になれば同じなんでは?ww
いや、別言語だとはわかってるけど。
ES6と、古いJavaScriptも、後方互換のある別言語だけどね。
165:デフォルトの名無しさん
16/09/02 00:55:55.82 gFIXdWf6.net
>>159
> その問題は、babelで変な地雷踏みたくないとかそういう問題であって(それは無いと言うなら、githubで何件openあるか数えてこい)
Issueはないな。(設置されてない)PRは66件オープンだな。
新機能もあるから問題の数が66件ではない。
バグはすごく少ないようだね(笑)
バグの話をするならブラウザにだってバグが有る
Firefoxのバグがいくつあるか調べてごらん。
URLリンク(bugzilla.mozilla.org)
あんた他人のバグを言い訳にするんじゃないよ。何のためにテストしてる?
ブラウザやOSにバグが有ったって、その上で正しく動くアプリを
作れないと仕事にならんのだよ。
166:デフォルトの名無しさん
16/09/02 01:01:16.42 gFIXdWf6.net
>>162
> だから、立ち位置だって言ってるじゃん。
「立ち位置」ってなんだよ?
全く違うものを並べて「立ち位置は同じ」ってお前が主張しているが
その立ち位置が同じである条件はなんだ?
その条件は世間一般に広く認められたものなのか?
お前が自分で作ったオレオレ条件だろ。
俺は言葉の定義通りの話をしている。
AltJSはJavaScriptではない言語のこと。
ES6はJavaScriptだし、babelは言語ですら無い。
> 162
> AltJSは別言語?
> 機械語になれば同じなんでは?ww
また話をすり替えようとしてるな。
俺がいつbabelが機械語になると言ったんだよ?
JavaScriptもAltJSは最終的に機械語になる。
だがbabelは言語ではないのだから機械語にならない。
俺はAltJSは言語であり、babelは言語ではないと言ってる。
167: ◆SEdFBOkLSw
16/09/02 01:06:04.26 nUqjDcPO.net
>>163
Issue無かったわwこれは俺が悪い。勘違いしてた。
プルリクにfixesは結構あったけど。
ブラウザのバグを把握するために、LTS使うんだけど。
俺は別に言い訳にはせんよ。むしろ、請けが言い訳できない様にその辺は抑えてる。
そんな当たり前の事言われても困るわ。
だからブラウザごとに違うソースが一部でもあるんじゃん。さっき言ったけどさ。
168: ◆SEdFBOkLSw
16/09/02 01:11:01.30 nUqjDcPO.net
>>164
何度も言ったけどさぁ。
全く違うのは、中身だろ。
意味は同じく、古いJavaScriptにトランスパイルするんじゃん。
立ち位置としては、JavaScriptのソースコードを出力するためのなんらかのコンパイラだよ。
C#のコンパイラもvb.netのコンパイラも、.netのコード吐くためのコンパイラ。
AltJSのソースコードと、babelの為に書いたソースコードが同じだとは言ってないでしょ。
babelは言語ですらない、ってそれそうだよ。ES6のトランスパイラだよ。
tscと同じようなもんだ、って言ってんの。
トランスパイラだから、そのためのソースコードであって、ネイティブのES6とは目的が違う同じ書式の、扱われ方の違う物だってばさぁ。
169:デフォルトの名無しさん
16/09/02 01:13:32.36 gFIXdWf6.net
> ブラウザのバグを把握するために、LTS使うんだけど。
ChromeのLTSってどれだ?
エンドユーザーが使うブラウザは指定できない。
例えばAmazonやGoogleはどうしてる?
ブラウザ指定してるか?
> だからブラウザごとに違うソースが一部でもあるんじゃん。さっき言ったけどさ。
それは全体の何%ぐらいだ?
170:デフォルトの名無しさん
16/09/02 01:16:19.67 gFIXdWf6.net
>>166
> 全く違うのは、中身だろ。
> 意味は同じく、古いJavaScriptにトランスパイルするんじゃん。
だから、中身が違っても
動作が同じなら問題ないだろって話をしてる。
なんで中身を拘るんだよ。
中身の話をすれば、babel以前に
IEとFirefoxとChromeでもぜんぜん違うだろ。
中身がぜんぜん違っても、同じ動作をするようにしないといけないんだよ。
その手めにテストコードが有って、そのテストコードにより
同じ動作をすることが保証されている。
テストコードで同じ動作をすることが保証されているんだから、
中身を変えることに何の問題も発生しない。
論理的な結論がこれ。
お前は、中身が違ってるだろ(どん!)で話が終わってる。
問題があるか無いかまで話を続けろよ。
171: ◆SEdFBOkLSw
16/09/02 01:17:05.79 nUqjDcPO.net
>>167
chronium+自社パッチ。
Amazonとグーグル?
ポリフィルまみれな上にブラウザごとに違うソース吐いてなかったっけ?
逆アプローチであって、決して「同じソースでなんとかする」って発想じゃないよ。
なんで%聞かれんのかわからん。それで何が知りたいの?
どう計数してもイチャモンつけられるのが目に見えてるわ。コード量でもファイル数でもステップ数()でも。
172: ◆SEdFBOkLSw
16/09/02 01:19:59.68 nUqjDcPO.net
>>168
えー。中身が違っても問題ないなら、ES6使用禁止で古いブラウザで、ブラウザごとにソース書いて、babel禁止でもいいって事なの?
中身にこだわってはないよ。お前の認識が間違ってる(と言うか、最初にbabelはAltJSと同じ立ち位置、に噛み付いてきた)だけであって、
問題があるかどうかは問題ですらないんだよ。
中身が違ってるというか、お前の理解力が足りなすぎる。
173:デフォルトの名無しさん
16/09/02 01:20:00.88 gFIXdWf6.net
>>166
> AltJSのソースコードと、babelの為に書いたソースコードが同じだとは言ってないでしょ。
> babelは言語ですらない、ってそれそうだよ。ES6のトランスパイラだよ。
> tscと同じようなもんだ、って言ってんの。
AltJSは言語だ。
babelは言語ではない。「ES6のトランスパイラ」だ
tscは「TypeScriptという言語」のトランスパイラだ
AltJSとTypeScriptはどちらも言語なのだから同じようなものだが、
TypeScript(言語)とtsc(トランスパイラ)は同じようなものではない。
同じようにbabelはtscと同じようなものであって、TypeScriptと同じようなものではない。
174:デフォルトの名無しさん
16/09/02 01:22:46.85 gFIXdWf6.net
>>170
> えー。中身が違っても問題ないなら、ES6使用禁止で古いブラウザで、ブラウザごとにソース書いて、babel禁止でもいいって事なの?
なんで中身が違っても問題ないって話をしているのに、
お前はまた中身の話をしているんだ?
古いブラウザであっても、テストが通って問題なく動くのであれば
中身が違っていても問題ないのは当たり前だろ。
なんで中身まで全く一緒にしようとしてるんだ?
そもそも全く同じコードじゃ動かないって話をお前はしただろ。
だから中身をブラウザごとに違うコードにしてまで、同じ動きをするようにするんだろ?
ならば中身がどんなに変わろうが、同じ動きをするのであれば
問題ないと言ってる俺の話も理解できるはずだが?
175: ◆SEdFBOkLSw
16/09/02 01:23:30.53 nUqjDcPO.net
>>171
だから、
babelは言語ではない。「ES6のトランスパイラ」だ
tscは「TypeScriptという言語」のトランスパイラだ
「ES6のトランスパイラ」で処理されるためのJavaScriptソースがある、
「tscは「TypeScriptという言語」のトランスパイラ」で処理されるためのソースがある。
トランスパイラで処理されるためのソースがある。
それらのソースは、トランスパイラで処理されるためのものである。
おわかり?
176:デフォルトの名無しさん
16/09/02 01:23:45.28 gFIXdWf6.net
> 最初にbabelはAltJSと同じ立ち位置、に噛み付いてきた)だけであって、
babelはトランスパイラ、AltJSは言語
全然立ち位置が違う。
tsc(トランスパイラ)とTypeScript(言語)が立ち位置が同じと言っているようなもん
177:デフォルトの名無しさん
16/09/02 01:25:11.41 gFIXdWf6.net
>>173
> 「ES6のトランスパイラ」で処理されるためのJavaScriptソースがある、
それはどんなJavaScriptソースなんだ?
ここに具体的なコードを書いてみろ。
178: ◆SEdFBOkLSw
16/09/02 01:25:31.37 nUqjDcPO.net
>>172
理解はしてるよ。
中身が同じにこだわるのは、
「一つの言語で云々、babelというのはなんに対しても最新のJavaScriptが使えるもの」ってお前の発言に則って話してるから、
それを否定するなら俺としてはありがたい話だ。
179: ◆SEdFBOkLSw
16/09/02 01:27:24.62 nUqjDcPO.net
>>175
そりゃ、ES6だよ。
let func = () => console.log('hello');
ただ、目的としてはトランスパイラにかけるためのソースなだけで。
だから、目的論なの。
>>159の後半な。
180:デフォルトの名無しさん
16/09/02 01:27:51.64 gFIXdWf6.net
170 返信: ◆SEdFBOkLSw [sage] 投稿日:2016/09/02(金) 01:19:59.68 ID:nUqjDcPO [9/11]
> 中身にこだわってはないよ。
176 名前: ◆SEdFBOkLSw [sage] 投稿日:2016/09/02(金) 01:25:31.37 ID:nUqjDcPO [11/11]
> 中身が同じにこだわるのは、
↑ こいつ頭大丈夫か?w
中身にこだわってないと言ったくせに
ほんの6レスで中身が同じにこだわってるwww
181:デフォルトの名無しさん
16/09/02 01:28:54.56 gFIXdWf6.net
>>177
> let func = () => console.log('hello');
そのコードはどの部分が、
「ES6のトランスパイラで処理されるため」になってるんだ?
182: ◆SEdFBOkLSw
16/09/02 01:29:42.84 nUqjDcPO.net
>>179
お前敢えて誤読してるか理解してないフリしてんの?
それともマジでバカなの?
183: ◆SEdFBOkLSw
16/09/02 01:30:47.92 nUqjDcPO.net
あきれるわ。おやすみ。
184:デフォルトの名無しさん
16/09/02 01:31:21.75 gFIXdWf6.net
>>179
俺は
「ES6のトランスパイラ」で処理される、ES6のコードと
「ES6のトランスパイラ」で処理されない、ES6のコードの
違いが何かってことを聞いてるんだよ。
185:デフォルトの名無しさん
16/09/02 01:37:01.83 gFIXdWf6.net
ES6のコードはES6に対応してない古いブラウザに対応するときにだけbabelで変換する必要があるのであって、
ES6に対応しているブラウザではそのまま動かせるって分かってないのかな?
babelを通すか通さないかの違いは、それぞれのブラウザで動作するかどうかの
テストコードが有って、それで保証されるから何の問題もない。
中身が変わるだけで(中身にはこだわりません)
動きが変わってなければ(テストで保証する所)何も問題ない。
babelは言語ではなくトランスパイラであって
言語はES6。このES6はブラウザでネイティブに動く言語
その他のAltJSはブラウザでネイティブに動かない言語
だから、AltJSとES6は「同じ言語というカテゴリで比較すると「立ち位置が違う」と言えよう。
なおAltJS(言語)とbabel(トランスパイラ)はそもそもカテゴリが違う。
186:デフォルトの名無しさん
16/09/02 03:38:22.58 kWkQROgW.net
漫画喫茶のダイス(DICE)を運営してるのはベルシティ(ザ シティ)というパチンコ店です。
ザ シティ・ベルシティ伊勢佐木町店(神奈川県)の周りにはソープランドがたくさんあります(ソープランド街です)。
このパチンコ店は韓国人か中国人が経営者の可能性があります(パチンコ店のほとんどは韓国人が経営してます)。
ザ シティ・ベルシティ伊勢佐木町店の周りには韓国料理店がたくさんあり、数キロ先には横浜中華街があります(韓国人、中国人がすごく多い地域です)。
普通はこんな場所に店を出さない気がします。
DICE系列 関東圏4
スレリンク(netspot板)
ダイス(DICE)=まんがランド(漫画喫茶)=ちょっと気分転館(漫画喫茶)=ねっとラボ=ベルシティ(ザ シティ)というパチンコ店
↑
パチンコ店のほとんどは韓国人が経営してます
187:デフォルトの名無しさん
16/09/02 12:34:18.86 n2lhI+0z.net
>>149
違う。普通はテストに引っかかる前でも後でも、
互換性のない部分で問題ないように書こうねということになる。
つまり使えるのはちょっとES2015に近いaltJSであって、
ES2015フルに使っていい状況で作るのとは大きく違う。
188:デフォルトの名無しさん
16/09/02 22:23:40.28 gFIXdWf6.net
>>185
> 互換性のない部分で問題ないように書こうねということになる。
それはbabelを使わなくても、やってることだろ?
babelが対象とするのはECMAScriptの部分でDOM APIは対象外。
特定のブラウザでしか使えないAPIに比べれば
互換性がない部分は遥かに少ない。
その互換性がない部分っていうのはES6の部分なんだから・・
おまえ、普段ES6のコード書いてないだろ?
お前はES6のコードを書かないように気をつけている。
それに比べれば書かないように気をつけるコードはほんの僅かだよ。
互換性がない所はES5で書けば良いんだしね。
189:デフォルトの名無しさん
16/09/02 22:25:51.84 gFIXdWf6.net
ざっと見る限りbabelとES6で互換性がない点は全体の1%程度だよ。
知らずに書いてしまうことはほとんどありえない。
190:デフォルトの名無しさん
16/09/02 22:34:24.02 gFIXdWf6.net
★SE 曰く、
中身が違うからポリフィルは使ってはいけない。
動作が同じになるように作られていたとしても
中身が違うからポリフィルは使ってはいけない。
また、MSが実装したPromiseも使ってはいけない。
PromiseはFirefoxが作ったものが唯一の本物であり、
中身が違えば動作が同じでも別物である。
191:デフォルトの名無しさん
16/09/03 05:16:03.21 N47o0j5/.net
>>186
Proxyが非対応でSymbolやWM周りが非常に気をつける必要がある時点で1%じゃ済まないね。
>>それはbabelを使わなくても、やってることだろ?
やらないし。もうモダンブラウザはほぼ100%対応してるのだから。
実質8割のbabelとは全然全然違う。
おまえ、普段ES6のコード書いてないだろ?
192:デフォルトの名無しさん
16/09/03 08:43:25.11 GDuT1yRG.net
レスバトル案の定自演だった
193:デフォルトの名無しさん
16/09/03 10:02:38.69 1nvmVGqX.net
>>189
ならそれだけ使わなければいいだけだろ?w
babelを使わない場合に、Proxyが使えるのか?
194:デフォルトの名無しさん
16/09/03 10:08:49.40 EZVA2rF2.net
> Promiseで実行指定した処理群内部では
> タイマー関連を使えないのでしょうか?
使える。
> これが使えないならば、WebWorkerでも極力使わない方が良い様に思います。
タイマー関連が使えるかどうかが、WebWorkerとどう関係があるのか
さっぱりわからん。
まず前提として以下のような制限がある。
URLリンク(developer.mozilla.org)
> 例えば、Worker 内から直接 DOM を操作することはできません。また window
> オブジェクトのデフォルトのメソッドやプロパティで、使用できないものがあります。
そして以下にはsetTimeoutはWorkerの中で使えると書いてある。
URLリンク(developer.mozilla.org)
195:+ JavaScript の質問用スレッド vol.122 +の73
16/09/03 10:41:23.55 e3VOV86p.net
此方に来ましたか。 お返事ありがとうございます。
Promiseは非同期処理群の処理と認識しています。
WebWorkerは単発の非同期処理と思っています。
WebWorkerはタイマーの稼働・停止の一連の処理を処理内部でまとめているのに対して
Promiseは非同期処理群の処理中ならば
タイマーの稼働・停止を別の処理で対応出来るかと思っていました。
Promiseの指定した処理群の個々でタイマーの稼働・停止が必要ならば
WebWorkerと同じ感じで作れば良いのかな。
Promiseは未使用なので、VS2015の実装状況を確認してから試してみます。
196:デフォルトの名無しさん
16/09/03 10:53:57.66 EZVA2rF2.net
> Promiseは非同期処理群の処理と認識しています。
それ自体は間違ってはいない。
だけど重要なのはJavaScript自体はシングルスレッドということ
まずJavaScript(≒ECMAScript)自体にスレッドを扱う機能はない。
setTimeoutやXMLHttpRequest とかはブラウザが提供する機能であり、
その内部ではスレッドが使えるし、使っている。
そしてこれらの機能からイベントと言う形で処理の状況を知ることができる。
イベントは通常コールバックを使うことで知ることができるが、
Promiseっていうのはコールバックの一部である「処理が終了したというイベント」を
容易に扱えるようにしたもの。
終了したと言うイベントというのは「setTimeoutで指定した時間が過ぎた」とか
XMLHttpRequestであれば「HTTPリクエストが完了した」とかいうイベント。
なので、HTTPリクエストが10%完了、20%完了という進捗状況をPromiseで知ることは出来ない。
197:デフォルトの名無しさん
16/09/03 10:58:35.97 EZVA2rF2.net
WebWorkerというのはブラウザが提供する機能で
JavaScriptでスレッドを使うものとざっくり言われているが、
正確に言えば、JavaScriptではスレッドが使えないのは変わらずで、
ブラウザが新たなスレッドを作って、そのスレッドの環境内で
新たなJavaScriptを実行するというのが正しい。
WebWorkerの作り方なんてこんなんだしねw
> var myWorker = new Worker("worker.js");
他の言語のスレッドの作り方を知ってると、
JavaScriptファイルを指定するとか、なんじゃこりゃ?って思うよw
そして、メインのJavaScriptと、Workerで作ったスレッドとは
postMessageを使って通信することができる。
メッセージの内容は自由だから、どんなやり取りでもできる。
198:デフォルトの名無しさん
16/09/03 11:03:08.37 EZVA2rF2.net
>>193
> Promiseは未使用なので、VS2015の実装状況を確認してから試してみます。
Promiseは別にVS2015で実装されてるかどうかを考える必要はないよ。
動かすブラウザがPromiseの機能を持っているかどうかだから。
そしてPromiseは純粋なJavaScriptの範囲で実装できるのでJavaScriptライブラリが存在する。
jQueryライブラリ導入のようにPromiseライブラリ導入すればよい。
そももブラウザが持ってるPromiseの機能は最低限のものなので
それを拡張して便利なメソッドを追加したbluebirdが使われることも多い。
URLリンク(bluebirdjs.com)
199:デフォルトの名無しさん
16/09/03 11:04:45.06 EZVA2rF2.net
>>193
で、ここまで説明したんだが、
> WebWorkerはタイマーの稼働・停止の一連の処理を処理内部でまとめているのに対して
> Promiseは非同期処理群の処理中ならば
> タイマーの稼働・停止を別の処理で対応出来るかと思っていました。
それはこれが意味不明だからなんだわw
そもそもの前提知識がずれてるよって話。
200:デフォルトの名無しさん
16/09/03 11:16:01.65 EZVA2rF2.net
違う方面から説明をすると、
ある処理をする関数があったとして「その処理をWebWorkerを使って実行する。」
というのは文章として成り立ってる。
だけど「その処理をPromiseを使って実行する。っていうのは文章としておかしい。
Promiseっていうのは単に終了イベントを知るためのものだから。
ある処理をする関数があったとして、その関数はPromiseオブジェクトを返す。
その処理の終了はPromiseの仕組みで知ることができる。
というのであれば文章として問題ない。
従来は処理の終了をコールバックを使って判断していた。
201:193
16/09/03 11:20:58.37 e3VOV86p.net
>>194-195
説明ありがとうございます。
WebWorkerは自分で書いてみた事が有ります。 入門書片手ですが。
入門書でメッセージの構成が明確でなかったので、苦労しました。
Promiseの動作確認は、現在有るWebWorkerの処理の塗り替えでやってみます。
ありがとうございました。
202:デフォルトの名無しさん
16/09/03 11:35:38.80 EZVA2rF2.net
> Promiseの動作確認は、現在有るWebWorkerの処理の塗り替えでやってみます。
そこがなんかずれてるんだよねw
PromiseかWebWorkerか じゃないんだよw
スレッドを使う方法としては、2通りの方法があって、
WebWorkerを使うか、WebWorkerを使わないか。
WebWorkerを使わないでスレッドを使うっていうのは、
WebWorker以外のブラウザの機能、つまりsetTimeoutやXMLHttpRequestが
内部で使ってるスレッドを使うって意味ね。
で、これらとPromiseは全く別の概念。Promiseは処理の終了処理を
コールバックよりも容易に判定したいだけ。
だから、XMLHttpRequest + Promise (Fetch APIがまさにこれ)や
WebWorker + Promiseという組み合わせで使うんだよ。
WebWorkerからは通常postMessageを使って処理をやり取りするんだけど、
その部分(new Worker部分まで含めて)を関数やクラスでラッピングしてPromiseを返すことで
「内部で別スレッドを使って非同期で処理してその結果をPromiseで知ることができる」
と言うものを作ることができる。
203: ◆SEdFBOkLSw
16/09/03 12:00:04.87 o5roFWxE.net
俺は、どれが悪でどれが善って話はしてないんだよなぁ。
>>188
Promiseがどうの、誰かどうの、じゃ無くて。
中身が違えば動作が同じでも別物である、の着眼点の違いがわかったわ。
ブラックボックスを許さないし、違うのであれば、その違う部分が同じ動きをする保証が必要である、それは、「ほぼ同じ」では無意味で「完璧に全く同じ」と保証されないといけない、
故に完璧に同じだと保証する工数が無駄なので、ポリフィルは使わない。ポリフィルのバージョンアップに追従する価値は余計にない、
だな。
要はその程度の開発だってことだろ、Webってのは(笑)
204: ◆SEdFBOkLSw
16/09/03 12:01:39.62 o5roFWxE.net
>>200
イベントドリブンに最初からしておけば、Promiseなんか要らんのだけどな。
何を発火させて何をリッスンするかの違いに落ち着くんだけど。
205:デフォルトの名無しさん
16/09/03 12:18:31.50 EZVA2rF2.net
>>202
> イベントドリブンに最初からしておけば、Promiseなんか要らんのだけどな。
実現できるか? 実現できないか?
だけで判断するのは未熟な証拠。
Promiseはコールバックでもできることを別の形で実現したもの。
必須か必須でないかの話をするならば、最初から必須ではない。
Promiseは可読性とメンテナンス性を上げるための道具なんだから。
だからお前がしたり顔で「要らんのだけどな」って言ったところで
俺は最初からそれは知ってるとしか言いようがない。
無くてもできると言うのを踏まえた上でみんな話をしてるのに、
あんたはその話をする最低ラインに到達していない。
206:デフォルトの名無しさん
16/09/03 12:20:20.05 EZVA2rF2.net
>>201
> ブラックボックスを許さないし、違うのであれば、その違う部分が同じ動きをする保証が必要である、それは、「ほぼ同じ」では無意味で「完璧に全く同じ」と保証されないといけない、
じゃあ、お前、IEとChromeとFirefoxは
ブラックボックスで、同じ動きをするという保証もないけど、
どうすんの?
OSの違いもあるし、今はAndroidで機種ごとに
微妙に動き違うんだけど?
お前、そんなんで仕事できるの?
「俺はIEでしか仕事できません!」じゃ
仕事にならなんからねw
207:デフォルトの名無しさん
16/09/03 12:22:20.80 EZVA2rF2.net
Webはその程度って言うけど、
Webは多くのブラウザやOSに対応するのが絶対条件なんだが、
何を持って「Webはその程度」って言ってるの?
顧客の条件が、多くのブラウザやOSといった
ブラックボックスの環境に対応することなんだけど?
お前は「その程度」のことも出来ないの?
208: ◆SEdFBOkLSw
16/09/03 13:38:12.23 WfmCkwdk.net
何を反射的に噛み付いてるかわからん。
俺も知ってるから使わんのだよ。
それが読み取れない時点でお前がついてこれてなくない?
IEもFireFoxもChromeも全然ブラックボックスじゃないじゃんw
お前がなんのソースも読んだことなければ、MSと保守契約結んだこともなさすぎて笑えるわ。
iOSのバージョンやAndroidごとに動き違うね。だから、社用には決まった機種を使うんだよ。
そんなんで仕事できるよ。
>>205
お前のレベルをもって、その程度、って言ってるんだよ。
209: ◆SEdFBOkLSw
16/09/03 13:44:41.92 WfmCkwdk.net
一回、このアホがどれくらいの規模の物を商品として作ったのか聞いてみたいわ。
210: ◆SEdFBOkLSw
16/09/03 13:48:52.73 WfmCkwdk.net
まぁいいや。
こいつの言うのが何であれ、なんの意味も成さんな。
実務ゼロっぽいし。
211:デフォルトの名無しさん
16/09/03 13:57:18.18 EZVA2rF2.net
>>26
へ? IEのソースコード公開されてないよ?
保守契約結んでもIEのソースは公開されない。
つーかソースコード開示する契約があるとしたら
それは保守契約じゃないしwww
> iOSのバージョンやAndroidごとに動き違うね。だから、社用には決まった機種を使うんだよ。
それはお前が決められることじゃない。
客が決めること。
客が世の中で使われているスマホの9割に対応するって言ったら
それに対応しないといけないんだよ。
で、どうするの? お前は出来ないの?w
212:デフォルトの名無しさん
16/09/03 13:57:46.31 EZVA2rF2.net
わかると思うけど、>>26じゃなくて>>206あてね。
213:デフォルトの名無しさん
16/09/03 13:59:56.35 EZVA2rF2.net
それから、babelで変換したとしても変換したコードは見れるし、
babel自体もオープンソースなので、全然ブラックボックスではありませんね
ブラックボックスってどこから出てきたのでしょうか?w
214: ◆SEdFBOkLSw
16/09/03 14:02:05.07 WfmCkwdk.net
>>209
結んでから言ってねw
後半。
違うよ。要件定義ってそうじゃない。
対応してほしいなら、どの機種のどれに対応して欲しいか明確じゃないと。
保証できない事を約束できないっしょ。
お前、マとしての実務以前に、要件定義すらしたことないの?
9割って、一体何だ?w
215: ◆SEdFBOkLSw
16/09/03 14:03:10.48 WfmCkwdk.net
>>211
お前は本当に馬鹿だな。
それはブラックボックスとは関係なく、中間層の話だろ。
議題が変わると混乱するタイプの話かな。
216:デフォルトの名無しさん
16/09/03 14:13:08.29 EZVA2rF2.net
>>212
> 対応してほしいなら、どの機種のどれに対応して欲しいか明確じゃないと。
普通は、IE9以上、Edge、Chrome、Firefoxとかだな。
Edge、Chrome、Firefoxに関しては短期間でバージョンアップするので
固定するようなことはしないし、できない。
一例をあげるとこれぐらいの頻度で更新されてる。1ヶ月に1回だな。
URLリンク(ja.wikipedia.org)
48.0.2564 2016-01-20
49.0.2623 2016-03-02
50.0.2661 2016-04-13
51.0.2704 2016-05-25
52.0.2743 2016-06-02
53.0 2016-06-02
> 保証できない事を約束できないっしょ。
> お前、マとしての実務以前に、要件定義すらしたことないの?
保証できないことは約束しない。当たり前のことなんだが?
お前開発したときよりも1ヶ月あとにリリースされるバージョンで動作するかどうやって保証するんだ?
なんでもかんでも保証するなよ。保証しませんの一言でおしまいだろ。
> 9割って、一体何だ?w
は? 世の中に存在するスマホの機種の9割に対応するってことだけど?
OSで言えば、iOS8以上 + Android 4.0以上とか。
これ実際に仕事で大手企業から言われた条件な。
お前、スマホ対応とかの仕事できないだろw
217:デフォルトの名無しさん
16/09/03 14:14:40.62 EZVA2rF2.net
>>213
> それはブラックボックスとは関係なく、中間層の話だろ。
ブラックボックスって言い出したのはお前だろ?w
お前の言うブラックボックスはどこなんだって話。
babelはブラックボックスではないと確定しました。
はい、で?お前は何がブラックボックスだって?
218:デフォルトの名無しさん
16/09/03 14:24:14.31 EZVA2rF2.net
そういやソースコード見るために、MSと保守契約(笑)の話もあったな。
こっちは恥ずかしくてスルーするんだろうなw
219: ◆SEdFBOkLSw
16/09/03 14:26:12.90 WfmCkwdk.net
>>214
普通とか別に要らないよw
Edgeに関しては撒くKBでコントロールできる、
FireFoxはLTS
ChromeはChronium
で固定できるし、してるよ。
その後の保証が要るなら保守契約結んでもらうだけじゃん?
こっちが保証するのは、要件定義どおりに決めた結果でしかないし、検収印もらったらそれで良い話。
世の中に存在するスマホを全部列挙してもらわないと、その9割なんか定義できんだろ。
iOS8以上、なら俺も発注出すな。
>>215
うん、得体のしれないポリフィル、に対して言ってた。
読めば良いだけ、なら、そんな工数無駄なので、作れば良いだけ。
お前はなんのソースも読まずに、これで大丈夫だ!なぜならこれが最新のもので、オープンソースのグループによって更新されてるから、って態度なんだけど。
220:デフォルトの名無しさん
16/09/03 14:26:14.91 bZbzbaoD.net
面白いのが居るね。
制御系をやらせてみたいなwww
221: ◆SEdFBOkLSw
16/09/03 14:28:46.36 WfmCkwdk.net
>>216
ソースコード見ると言うよりも、
動かん、スペックシート送れって言ってみ?
無駄の多いMSDNみたいなクソみたいなの送ってくるから。
それでもおかしいとなると、人間よこせ、確認しろって言って、
確認後KB作ってくれるよ。
.net 2.0になりたての頃よく呼んだ。
いずれにせよ、ソースを見ずに、中身は理解できるし、おかしければ治る。
まぁ、そんなことした事ないんだろうけど(笑)
222:デフォルトの名無しさん
16/09/03 14:36:29.05 EZVA2rF2.net
> Edgeに関しては撒くKBでコントロールできる、
俺をどうやってKBでコントロールする気だ?w
ウェブの世界っていうのは世界中の人間を相手にしてる。
コントールするのは不可能という大前提がある。
この大前提は、お前の一存で決めることは不可能な絶対条件。
お前にはこの世界の仕事は無理だよw
> その後の保証が要るなら保守契約結んでもらうだけじゃん?
> こっちが保証するのは、要件定義どおりに決めた結果でしかないし、検収印もらったらそれで良い話。
だからbabel使って変換したソースコードが、こっちが保証しているブラウザで
動けばそれでおしまいってだけなんだが?お前が言っていることの範囲内だろ。
当たり前だがbabelはソースコードを変換するだけで納品物は変換されたソースコードだ。
だからbabelが勝手にバージョンアップすることはない。babelが原因で動かなくなることはない。
> 世の中に存在するスマホを全部列挙してもらわないと、その9割なんか定義できんだろ。
Andorid 4.0以上のスマホという条件があれば、全部列挙することはできるだろw
その作業をどちらがやるかは客と相談して決めること。
> うん、得体のしれないポリフィル、に対して言ってた。
ポリフィルはすべてソースコード公開されてるから
ブラックボックスじゃないなwwww
で、ブラックボックスって何の話?w
223:デフォルトの名無しさん
16/09/03 14:37:53.45 EZVA2rF2.net
>>218
> 面白いのが居るね。
> 制御系をやらせてみたいなwww
制御系は特許の塊だから、ブラックボックスのまま
使う必要があるだろうね。
ブラックボックスだから保証できません!
だからブラックボックスの環境では仕事できません!
じゃだめなんだよね。
ブラックボックスがあるという前提で
どこまで保証できるか?できないかを
はっきりさせるのが仕事。
224: ◆SEdFBOkLSw
16/09/03 14:38:54.38 WfmCkwdk.net
>>218
死屍累々だぞこの調子だと。
でも未だに業界的に変なの動いてるからな。
俺もCバスはそろそろ捨ててほしいと思うが、思うだけであって実際問題は金かかるからな。リプレイス待ち案件。
そういうのを見た上で、それでも、彼は最新のコードを使えば大丈夫だと思っているに違いないよ。
>>220
うん、だから、イントラの話しであって、Webの話じゃないじゃん。
で、その上で、お前の開発への考え方聞いて、Webってそんなもんなんだな()って言ってんの。理解できる?
ブラックボックスじゃない、は読んだあとわかるんだよね。それまでは依然としてブラックボックスだよ。
読む工数は誰かくれんの?
225:デフォルトの名無しさん
16/09/03 14:39:52.29 EZVA2rF2.net
>>219
> 確認後KB作ってくれるよ。
いや、KB作って終わりじゃないだろ・・・・
ウェブの世界では多くの人と環境を相手してる。
という変えられない絶対条件があるんだよ。
その条件で仕事しないといけないの。
KBあればばっちりだ!じゃない。それを世界中の人に使わせないことには
お前のやり方じゃ仕事できんだろ。つまりそのやり方は破綻してるんだよ。
226:デフォルトの名無しさん
16/09/03 14:42:29.94 EZVA2rF2.net
>>222
> うん、だから、イントラの話しであって、Webの話じゃないじゃん。
だからお前は「ウェブ程度」のことができないって結論なの。
一度世界中の人と環境を相手に仕事してごらん?w
> ブラックボックスじゃない、は読んだあとわかるんだよね。それまでは依然としてブラックボックスだよ。
> 読む工数は誰かくれんの?
何を読む工数?
ChromeやFirefoxはブラックボックじゃなくて
お前はそれを読んでるんだろ?
その工数を誰かがくれたんだろ?
マッチポンプかw
ブラックボックスは駄目だ!ソースコード読まなきゃ!
→ ソースコード読む工数は誰がくれるんだ!
じゃあブラックボックスでやれよw
227: ◆SEdFBOkLSw
16/09/03 14:42:49.83 WfmCkwdk.net
客と相談して決める事なら、決めた結果が要件定義に反映する内容であって、
9割、が要件じゃないような。
納品はバベったコード、で、改修させてえらい工数見積もられたことあるな。
即切ったわ。
>>221
NDAさんはどこ行くんだよ。
228: ◆SEdFBOkLSw
16/09/03 14:45:38.93 WfmCkwdk.net
>>224
Web程度、って言うほどの事でもないような。
Web屋には一目置いてるけど、結局こういう精神性なのか、と残念に思ってる所だけど。
世界中の人は相手にしてるよ。割と。
FireFoxとchromeは読んでるよ。いわば環境じゃん。
229:デフォルトの名無しさん
16/09/03 14:46:43.87 EZVA2rF2.net
>>225
> 客と相談して決める事なら、決めた結果が要件定義に反映する内容であって、
はぁ。いっつもこいつそうだよ。
俺が以下の文脈で「相談」って言ったら、
> Andorid 4.0以上のスマホという条件があれば、全部列挙することはできるだろw
> その作業をどちらがやるかは客と相談して決めること。
その「相談」だけを抜き出して、別の意味で使うんだよ。
卑怯だよねw
> 客と相談して決める事なら、決めた結果が要件定義に反映する内容であって、
> 9割、が要件じゃないような。
9割は客が決めた要件。相談して決めていない。俺が言って「相談」とはAndoroid4.0以上のスマホの列挙作業を誰がやるかだ。
230:デフォルトの名無しさん
16/09/03 14:48:21.76 EZVA2rF2.net
>>226
> FireFoxとchromeは読んでるよ
その工数は誰が出してると思ってるんだ?
じゃあ、FirefoxでPromiseを定義している
ソースコードはどれだい?みたいな質問に
答えられるはずだよな。
一応証拠として聞いておこうか?
231:デフォルトの名無しさん
16/09/03 14:48:57.81 EZVA2rF2.net
言っとくが読むっていうのはファイルを探すことじゃないぞ
その中身まで理解していなければ読んだことにはならない。
232: ◆SEdFBOkLSw
16/09/03 14:49:16.41 WfmCkwdk.net
知財かどうかなんて、APIが知財かどうかすら関係するんだから、弁理士弁護士案件だろ。
ブラックボックスのまま、ってどういう事かわからん。
エラッタかどうか挙動を確かめる行為すら、既に解析行為だろ。
233:デフォルトの名無しさん
16/09/03 14:50:05.16 EZVA2rF2.net
>>225
> 納品はバベったコード、で、改修させてえらい工数見積もられたことあるな。
なんでだ? babelは単なるES6なんだが?
そのES6のコードをbabelで変換せずに
納品すればいいだけじゃねーかw
234: ◆SEdFBOkLSw
16/09/03 14:50:24.49 WfmCkwdk.net
>>228
何の噛みつき方かわからんよ。
そりゃ業務知識だからほいほい言うわけないじゃん。
235:デフォルトの名無しさん
16/09/03 14:50:48.72 EZVA2rF2.net
>>230
> 知財かどうかなんて、APIが知財かどうかすら関係するんだから、弁理士弁護士案件だろ。
> ブラックボックスのまま、ってどういう事かわからん。
そもそもお前が、ブラックボックスって話を始めたよな?
マッチポンプかwwww
236:デフォルトの名無しさん
16/09/03 14:51:38.25 EZVA2rF2.net
>>232
> そりゃ業務知識だからほいほい言うわけないじゃん。
Promiseのソースコードがどれかって質問しただけで、
業務知識(?)なんか聞いてませんよw
237: ◆SEdFBOkLSw
16/09/03 14:51:58.07 WfmCkwdk.net
>>231
請け先に言えw
babel変換元を納品してないが故に、うち用にも使ってる社内ライブラリがうんぬん、その当時のうんぬん、で結果そうなったんだよ。
バイナリ書かせてる時代にはよくあった話だけど、またこれかと。
238: ◆SEdFBOkLSw
16/09/03 14:52:14.35 WfmCkwdk.net
>>233
お前頭おかしいだろ。
239: ◆SEdFBOkLSw
16/09/03 14:52:38.97 WfmCkwdk.net
>>234
仕事で調べたことは、会社の資産な。
240:デフォルトの名無しさん
16/09/03 14:53:23.42 aPmwwe34.net
>>222
> Cバス
脱線するが、君はそっち系なのか?酷く懐かしすぎる名前だが。
新商品なんて出てるのか?母艦が手に入らないと思うが。
241:デフォルトの名無しさん
16/09/03 14:53:30.60 EZVA2rF2.net
>>235
> babel変換元を納品してないが故に、うち用にも使ってる社内ライブラリがうんぬん、その当時のうんぬん、で結果そうなったんだよ。
はぁ? それって実行ファイルのバイナリ(exeファイル)だけを納品して
ソースコードを納品してないという、ちゃんとした仕事をしてない所に
ありがちな話ってだけじゃねーか。
それは明らかにbabelの問題じゃねーよw
242:デフォルトの名無しさん
16/09/03 14:57:15.99 EZVA2rF2.net
>>237
> 仕事で調べたことは、会社の資産な。
それは違うぞw
データベースの著作権の話でもぐぐれ。
内容が非公開情報であるとか特殊な条件が揃わない限り、
それは会社の資産にはならない。
(当然オープンソースのChromeのソースコードは非公開ではない)
243: ◆SEdFBOkLSw
16/09/03 14:57:18.23 YIu9WVDu.net
>>238
80年生まれのくせにそのへん触れるか故にオッサン扱いされてるけど、
機械から人体から得体のしれない設備まで手広く通信周りやってるよ。
手に入らんから困るんよ。もう共食いも良いところだよ。
捨てないで!ってアナウンスするレベル。
244:デフォルトの名無しさん
16/09/03 14:59:04.36 EZVA2rF2.net
まあなんてていうか、
◆SE って変化させる能力が
極端に劣ってるみたいねw
245: ◆SEdFBOkLSw
16/09/03 15:00:35.21 YIu9WVDu.net
>>239
babelのせいじゃない?うん、まぁ、その会社がbabelをつかったせい、であってbabelに罪はないのは確かだよ。
だから、ネイティブでES6で書くか、古いJavaScript書くかどっちかにして、って話なんだけど。
>>240
それは著作権というか、それこそ知財の問題であって、
そうじゃなくて俺なり社内のだれなりが工数使って調べたことは、資産なの。
お前働いた事無いの?
246:デフォルトの名無しさん
16/09/03 15:01:00.03 EZVA2rF2.net
>>241
え? Cバスの中身、ブラックボックスじゃなくて
全部知り尽くしてるんでしょ?
自分で作れば良いんじゃないですかねぇw
247: ◆SEdFBOkLSw
16/09/03 15:01:30.94 YIu9WVDu.net
>>242
そりゃ、敢えて変化させないからな。
それで良いと思ってるよ。
248: ◆SEdFBOkLSw
16/09/03 15:01:54.37 YIu9WVDu.net
>>244
誰がどの金で?
お前バカなの?
249:デフォルトの名無しさん
16/09/03 15:02:36.24 EZVA2rF2.net
>>243
> だから、ネイティブでES6で書くか、古いJavaScript書くかどっちかにして、って話なんだけど。
ネイティブでES6を書くという結論でいいだろw
そして納品してから1ヶ月後にな、やっぱり古いブラウザでも動かしたいって
客に言われたらな、そんときにbabel使って変換してやれば良いんやで?
250:デフォルトの名無しさん
16/09/03 15:02:47.73 aPmwwe34.net
>>241
ちなみにCバスにこだわる理由は?
まあ色々便利だとは聞いているが、保守部品なら仕方ないとして、新規商品で使う必要はない。
今時ならarduinoなりラズパイみたいな奴にに仕込んでイーサで通信する方が楽なはずだが。
251:デフォルトの名無しさん
16/09/03 15:03:41.91 EZVA2rF2.net
>>246
馬鹿はお前だ。
ブラックボックスが嫌なら金がかかる。
金がかからないならばブラックボックスのままでやる
ブラックボックスのままテストをしっかりやれば
それで十分だって話をしてるんだよ。
252:デフォルトの名無しさん
16/09/03 15:05:42.57 EZVA2rF2.net
俺は、ブラックボックスを許さないと言ったお前の>>201の発言を
否定しているだけ。
つまりお前は金がかかるからブラックボックスのままでやるんだろ?
253:デフォルトの名無しさん
16/09/03 15:07:52.79 EZVA2rF2.net
つーか組み込み系でもCバスを使った製品の中身が
変わることだってあるんだが。
同じ製品であっても、中身を変えることがある。
中身にこだわるな。中身が違っていたとしても、
テストに合格すればそれは問題ない。
254: ◆SEdFBOkLSw
16/09/03 15:09:41.97 YIu9WVDu.net
>>247
え?うん、ネイティブで動くものに対してES6で書くことは全く否定してないけど、どしたの?
やっぱり古いブラウザで動かしたい、は多分断るな。
余程言われても、babelは使わずに直すと思うよ。
>>248
新商品で積極的には使わないよ。
リプレイスするなら新しい組込の仕様品あるからそっちで構築するんだけど、
2台壊れたから!とかそう言うの多い。
法改正で制度上この数値が残らないと困るからこれだけDBに残して!とか。
上的にはSIになったから単位だけ、で改修受けたのがマズったなって思ってるとのこと。
Cバスにこだわると言うより、何故か他社製旋盤に相乗りしてる、とか、いにしえの何かがあるらしいよ。自分が幼児の頃の歴史を紐解いて良いもの出てきた事無いから積極的には聞かん。
255: ◆SEdFBOkLSw
16/09/03 15:12:09.68 YIu9WVDu.net
>>249
しっかりやれば、が定義できないじゃん。
見た目上、データ上正しければそれは正しいデータだ、って言う根拠。
>>250
逆。
金がかかるから、ブラックボックスを使わんのだよ。
256: ◆SEdFBOkLSw
16/09/03 15:12:51.42 YIu9WVDu.net
>>251
何を言うてるかわからん。
ソリューション売りしてんだよ。
257:デフォルトの名無しさん
16/09/03 15:18:04.76 EZVA2rF2.net
>>252
> やっぱり古いブラウザで動かしたい、は多分断るな。
> 余程言われても、babelは使わずに直すと思うよ。
そのコスト誰がだすん?w
babel使ったら簡単に対応できる。
テストコードがあるからそのテストを通せば良い。
babelはブラックボックスではないがブラックボックスと考え
中身がどうなっても、テストが動けば良い。そうだろう?
いざとなったら中身を確認することもできる。
どうせ古いIEへの対応でIEはブラックボックス
IEとFirefoxとChromeで動きも違う。バージョンごとで動きも違う。
ホワイトボックスとして扱うことはコストの点から実質不可能。
問題はコストだよ。最新のES6を使ってコストを減らせ
babelを使えば古いブラウザに対応するコストも減らせる。