トップページ > プログラム > 2015年07月25日 > qGUo5/ZS

書き込み順位&時間帯一覧

26 位/177 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001110003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ECMAScript デス 4

書き込みレス一覧

ECMAScript デス 4
755 :デフォルトの名無しさん[sage]:2015/07/25(土) 18:51:38.87 ID:qGUo5/ZS
まあでもMapがその仕様なら分割代入の拡張だって必要なかったっと言っても、
結局[]の拡張だって、ほぼMapのためだけのものとも言えるしね

でも実際はMapを除いても分割代入の拡張は便利なものであるだろうし、
[]の拡張だってそうだろうから、これらの議論とMapの仕様の是非の結びつきはかなり弱いと思うし、
どちらのMap仕様が絶対良いと言えるようなものではないと思う
ECMAScript デス 4
756 :デフォルトの名無しさん[sage]:2015/07/25(土) 19:01:12.92 ID:qGUo5/ZS
instanceofの前例から見るに、高レベルな演算子のオーバーロードを
シンボルプロパティによるハックでやっていくっていうのは今後の基本方針だろう
でも、==や<=のような低レベルな演算子はもっと限定的で低レベルな記述で
オーバーロードするというのが今のところの雰囲気
そこで[]はその中間に当たるからなんとも微妙なんだよね

まあ1つだけ言えることは、これはES6を入れる際に一緒に持ってくるには
大きすぎる問題だったけどMapは欲しかったから、今のMapの仕様になったのは妥当だと思う

別に[]の拡張が入ったからといっても今のMapがダメダメになるわけでもないし、
AbstractRefや分割代入の拡張という、筋の良い案でいくらでも諸問題に対するフォローは効く
ECMAScript デス 4
759 :デフォルトの名無しさん[sage]:2015/07/25(土) 20:59:45.45 ID:qGUo5/ZS
>>757
大事なのは「The New Semantics of [ ]」のところから
その記法はES6で有効
だが[]:はちょっとナンセンスだと思う
[]:→[undefined]:→"undefined":にも見える
やはりシンボルでするしかないだろう

>>758
全オブジェクトをMapにすると言っても過去の互換性を守るにはシンボルの追加のように
オブジェクトはオブジェクトのままで、扱い方を追加して解決するしかない
結局シンボルでフックしてWeakMapでゴニョゴニョやる以外にない
それなら既存のものを変革させなくともAbstractRefのように専用のものを作ったほうがいいのではないか?

[]の拡張と比べてAbstractRefの筋の良い所は、元の仕様の1つの名前がRelationships
http://wiki.ecmascript.org/doku.php?id=strawman:relationships
だったことからも分かる通り、2つの物の関係についての扱いを表わせられること。

どうしても[]だとオブジェクト指向のしがらみから逃れられず、
オブジェクトと、オブジェクトに送るメッセージという結構偏った関係になるが、
AbstractRefだとそれよりは対等で、気分的にもより汎用的で自由な使い方ができる記法となっている


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。