14/03/20 20:37:22.08 OnvdowAM
ES7+に関するニュースがたまってきた
まずObject.observeがChrome M35でデフォルト有効になるね
つまり日本時間の4/1からES7の時代なわけだ、素晴らしい
それからES6に摂りこぼしたようなメソッドが入ってくる
URLリンク(esdiscuss.org)
まあこういうのは仮にES7になっても、すぐ実装される可能性が高いか
あと興味深かったのはASTならぬCSTについて
URLリンク(esdiscuss.org)
これが標準APIとして入ると、最近2chでもよく耳にするJSのコード分析ツールが発達するだろうね
554:デフォルトの名無しさん
14/04/06 10:34:50.10 BAtZ8TGv
Microsoft、プログラミング言語“TypeScript”を正式リリース
URLリンク(www.forest.impress.co.jp)
555:デフォルトの名無しさん
14/04/26 00:52:27.92 FOzpDrfL
しかし、letが使えない事が最もイラつく要因だな
これだけは間違いなく設計ミスと言わざるを得ない
はやいとこletが当たり前のように使えるようになってほしいよ
556:デフォルトの名無しさん
14/04/26 04:17:27.66 m4NkAp8y
Let it be.
557:デフォルトの名無しさん
14/04/26 06:30:34.96 IOWbf8hT
なんでそんなもんが要るのか理解に苦しむ
558:デフォルトの名無しさん
14/04/26 07:34:51.39 /1bv/NFj
letって糖衣構文だよね?
559:デフォルトの名無しさん
14/04/26 09:05:12.45 N/wOneBP
letをラムダ式で書くのは一般に可読性がすごく悪いので、letがラムダ式の糖衣構文であることは
間違いないけど、良い糖衣構文の典型例と言っていい。
おまけにJSのラムダ式は function とか無駄にキーワードも長いし(funcで十分ですお)。
560:デフォルトの名無しさん
14/04/26 09:28:02.77 dytsHLSj
そもそもムダ式の使いどころがわからないw
561:デフォルトの名無しさん
14/04/26 10:45:40.07 /1bv/NFj
(function って書きかたするだけで即時無名関数だってわかるし、可読性悪いと思わないな。
とはいえletは便利だと思う。
562:デフォルトの名無しさん
14/04/27 10:16:14.38 J+hFW2BD
架空の構文を使うが、
let (a = a に与える値, b = b に与える値) { a とか b とかを使ったプログラム片 };
↑コレが、こうなる↓
(function (a, b) { a とか b とかを使ったプログラム片 })(a に与える値, b に与える値);
可読性は大幅に違うと思うが?
563:デフォルトの名無しさん
14/04/27 12:50:33.35 dzdj67m/
var使えばいいじゃん
564:デフォルトの名無しさん
14/04/27 16:49:18.92 /n7QikUK
varか
565:デフォルトの名無しさん
14/04/27 16:58:01.12 ZSKa5kXO
バーカと言ってんのか。
566:デフォルトの名無しさん
14/04/28 07:32:48.30 pTdZCSXw
perlみたいにmyにすればvarより一文字タイプする手間が減って
人類全体ではおそらくのべ何百万時間と何百テラバイト節約できたのに。
567:デフォルトの名無しさん
14/04/28 10:37:13.73 nTejnWG/
そこでさらに1文字減らそうと考えないお前はとことん子供だな
568:デフォルトの名無しさん
14/04/28 12:21:34.72 6N4YFPM8
>>556
今なら let it go だな
569:デフォルトの名無しさん
14/04/29 01:06:54.91 AbmpH0cg
>>567
phpの$はすばらしいな!え、ちがう?
570:デフォルトの名無しさん
14/04/29 20:33:54.13 pZyrXbny
class構文書く時@@createとconstructorの役割の割り振りが難しそうだな
Arrayとか標準クラスを参考にすると@@create()ではそのクラスのインスタンスたり得る未初期化のオブジェクトを構築する
つまり例えばArrayならlengthや自然数がハックされた(Proxy)オブジェクトを作り、prototypeの継承もここでする
この時点で、obj.isClass()はtrueになるべきだが、まだオブジェクトが使える状態であってはいけない
その次にconstructor()で、this.isClass()がtrueならば実際の初期化を行い、使える状態にする
this.isClassがfalseまたは、初期化済みのインスタンスが渡された場合はエラーにする
逆にconstructorでオブジェクトをそのクラスのインスタンスたらしめる処理を行ってはいけない
例えば、内部的に使用するプロパティを新しく作成してはいけない
内部プロパティは@@create()でundefinedの値を入れて作っておき、constructor()ではそこに入れるだけにする
これを常に守っているクラス間では、多重継承や多重継承元オブジェクトの作成など柔軟性の高さを確保しつつ、安全なクラスシステムが定義できる
一方自由が好きな人でも、@@createを使いこなすことで自分好みのクラスシステムを再定義できる
例えば~.prototype.~は長いから~.$.~にしようとかも超容易にできる
571:デフォルトの名無しさん
14/04/29 21:23:55.12 /EtEvdEl
JavaのJavaScriptが更新されたね
572:デフォルトの名無しさん
14/05/10 00:26:41.76 IHaPgo2n
ES6のイテレータってJava8のStreamAPIみたいなメソッド無いの?
573:デフォルトの名無しさん
14/05/29 22:34:29.48 fV0QO8N6
マイクロソフト、IEの新機能紹介サイト「status.modern.ie」を正式版に
URLリンク(www.atmarkit.co.jp)