ES6中定義JSON非常方便,直接使用花括號{ }包裹屬性和屬性值,中間使用冒號:分隔。如下所示:
const person = { name: '張三', age: 18, gender: 'male' }; console.log(person); // {name: "張三", age: 18, gender: "male"}
可以看到,我們定義的person是一個對象,擁有三個屬性:name、age和gender。屬性名和屬性值之間用冒號:分隔,各個屬性之間用逗號,分隔。ES6中還支持更加簡潔的屬性定義方式,如下所示:
const name = '張三'; const age = 18; const gender = 'male'; const person = { name, age, gender }; console.log(person); // {name: "張三", age: 18, gender: "male"}
可以看到,ES6允許我們直接將變量作為屬性名,如果變量名和屬性名一樣,就可以簡寫屬性名了。這樣的寫法更加簡潔、優雅。
除了普通的屬性值,ES6還支持定義方法。如下所示:
const person = { name: '張三', age: 18, gender: 'male', sayHi() { console.log('Hi, my name is ' + this.name); } }; person.sayHi(); // Hi, my name is 張三
可以看到,我們在對象中定義了一個方法sayHi,當調用該方法時,會輸出一段話,其中包含了名字。方法也是一種屬性,只不過屬性值是一個函數而已。