データ型としてのオブジェクト
プロパティにアクセス
プロパティを削除
プロパティ名の構文
JavaScriptのすべての変数を使用可能オブジェクトとして。 2 つの例外は null と unknown です。
false.toString(); // 'false' [1, 2, 3].toString(); // '1,2,3' function Foo(){} Foo.bar = 1; Foo.bar; // 1
2.toString(); // 出错:SyntaxError
2..toString(); // 第二个点号可以正常解析 2 .toString(); // 注意点号前面的空格 (2).toString(); // 2先被计
データ型としてのオブジェクト
JavaScript オブジェクトはハッシュ テーブルとして使用でき、主に名前付きキーと値の対応を保存するために使用されます。
オブジェクト リテラル構文 {} を使用すると、単純なオブジェクトを作成できます。この新しく作成されたオブジェクトは Object.prototype を継承しており、カスタム プロパティはありません。var foo = {}; // 一个空对象 // 一个新对象,拥有一个值为12的自定义属性'test' var bar = {test: 12};
プロパティにアクセスする
オブジェクトのプロパティにアクセスするには、ドット演算子または角かっこ演算子の 2 つの方法があります。
var foo = {name: 'kitten'} foo.name; // kitten foo['name']; // kitten var get = 'name'; foo[get]; // kitten foo.1234; // SyntaxError foo['1234']; // works
var obj = { bar: 1, foo: 2, baz: 3 }; obj.bar = undefined; obj.foo = null; delete obj.baz; for(var i in obj) { if (obj.hasOwnProperty(i)) { console.log(i, '' + obj[i]); } }
var test = { 'case': 'I am a keyword so I must be notated as a string', delete: 'I am a keyword too so me' // 出错:SyntaxError };
オブジェクトの属性名は、文字列または通常の文字を使用して宣言できます。ただし、JavaScript パーサーの別の設計が間違っているため、上記の 2 番目の宣言メソッドは ECMAScript 5 より前に SyntaxError をスローします。