2011-02-02 6 views
6

私が見たすべてのJavaScriptチュートリアルでは、オブジェクトのプロパティについて何か言及しています。しかし、なぜ彼らはそれを財産と呼びますか?例えばコンストラクタのプロパティ、var a = function {this.b}ここで、bは再びpropertyと呼ばれます。私の知る限りではプロパティは、ゲッターおよび/またはセッターを持っているので、それらの一つは、フィールドと呼ばれるべき、彼らべきではないのですか?JavaScript:フィールドまたはプロパティ

答えて

4

ブラウザのベンダーによっては、JavaScriptプロパティのgetters/setterが実装されているものがあります。

FFとWebkitには、DOMオブジェクト用に実装された__defineGetter____defineSetter__があり、ECMA仕様外のオブジェクトに対して取得して設定します。しかし、両方ともIEは8+(ECMA仕様から)Object.definePropertyを有しています。それについては、here

については、私はそれがJavaScriptでプロパティと呼ばれる理由は、それは動的言語であり、基本マークアップはプロパティとローカルvarのを使用していると言うでしょう。すべてが特定のスコープの階層にバインドされているので、あなたが持っているすべては、各レベルで異なる木の枝です。そしてダグラスCroockfordは彼らの特性を命名:)

+0

[OK]をクリックします。 10倍。いくつかのgetterとsetter [ECMA](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf)8.6.1があるようです。 – bliof

2

hash,map,dictionaryおよびassociative arrayと同様です。異なる言語は、それらを異なるものと呼ぶのが好きです。用語(残念ながら)はプログラミング言語間で100%譲渡できません。

関連する問題