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

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

66 位/177 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000101



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

書き込みレス一覧

ECMAScript デス 4
765 :デフォルトの名無しさん[sage]:2015/07/25(土) 22:40:43.14 ID:F8EjZDFb
>>761
問題がget等のメソッド使うのが野暮ということなら
今話してるmap[val]をval@mapと表せられるのがRelationships
それに(this)bind演算子を合体させたのがAbstractReferences
https://github.com/zenparsing/es-abstract-refs

これであればプライベートの変数pがthis.pの代わりにthis::pで表される
こういうのを[]の拡張でスマートに行うのは難しい
何故ならthis[p]はthisが主体であるが、this側が情報と制御を握っているという構造は
本当はプライベートがない上でプライベートを再現するのには向いていないからだ

その点this::pでは、p側にthisが渡されるためにとても自然でクリーンに実現できる
pがそのクラスのpプロパティのキーになるということも、pをprivate symbolかのように見ることが出来てJS的に自然に受け入れられる
ではp自体はどのように処理を作ればいいかというと、実はこれはWeakMapそのままでいい
あとはpを簡単に作れてそのクラスだけに結び付けられれば言うことがないので、
ここはせっかくとっておいたprivateキーワードを使えばJSのプライベート事情がとてもスマートに簡潔する


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