undefined の上書き問題に対する打開案
ECMAScript 5 ではグローバル変数 undefined を書き換えることは出来ませんが、ローカル変数 undefined を宣言することは許されています。
「ではどうやって解決するのでしょうか?」というお話。
小倉唯
@Constellation
JSはdynamicなのが好きなので, freezeとかあまりしたくないかも. ただ, 大規模開発とかだとそういうわけにもいかないのかもなあ…
2011-10-01 22:35:10
think49
@think49
@Constellation そうですよね。結局、「どこまで自分の管理下におけるか」が争点になっているような気がします。「厳格であるべし」という立場の人は「自分一人で管理できる範囲はそれほど大きくない」って思ってるんじゃないかなー、と。
2011-10-01 22:41:18
think49
@think49
@think49 「自分でコードを書き、部分的に他の人にお任せする→書いて貰ったコードを見て驚愕する」みたいな悪いパターンを想定してるのかなー。「コーディング規約で縛る」か「言語規約で縛る」かの違いでもありますが。
2011-10-01 22:43:26
小倉唯
@Constellation
@think49 ですよね! で, http://t.co/LFu5C8Ve とstatic analyzerでも作って(例えばundefinedをkeywordとみなすような)引っ掛ければいいと思ったのですー.
2011-10-01 22:48:46
think49
@think49
@Constellation あははははー。高度な内容であまりよくわかってませんが、Keywords を定義できる方向性は大賛成です!
2011-10-01 22:53:42
think49
@think49
@think49 Object.prototype を拡張できて、Object.defineProperty でプロパティ属性を変更できて、ES6 では定数を定義出来る予定(const)なんだから、Keywords ぐらい定義できてもいいはずです。
2011-10-01 22:54:12