ES6 Object Literal
Object Literal Là Gì
Object trong JavaScript có thể được tạo theo một số cách khác nhau. Object literal là kiểu cú pháp tạo object sử dụng cặp dấu ngoặc {}
và bên trong đó là danh sách các property (thuộc tính) của object.
Với phiên bản ECMAScript trước đây chúng ta thường sẽ
var name = "John";
var myObj = { name: name };
Các property có giá trị là một hàm còn được gọi là method:
var name = "John";
var myObj = {
name: name,
sayHi: function () {
console.log("Hi, my nam is " + this.name)
}
};
Cú Pháp Object Literal Trong ES6
Trong ECMAScript 6 cú pháp khởi tạo object sử dụng object literal được đơn giản hoá hơn.
Với những property có tên trùng với giá trị như name:name
ở trong ví dụ trên thì lập trình viên có thể thay thế bởi name
:
let name = "John";
let myObj = { name };
Với các property nhận giá trị là một hàm (hay còn gọi là method) thì lập trình viên có thể thay thế bằng cách khai báo một với tên của property và đồng thời bỏ qua từ khoá function
. Ví dụ với đoạn code sau khởi tạo object sử dụng kiểu cũ:
var name = "John";
var myObj = {
name: name,
sayHi: function () {
console.log("Hi, my nam is " + this.name)
}
};
myObj.sayHi()
// Hi, my nam is John
Thì trong ES6 có thể được viết lại như sau:
let name = "John";
let myObj = {
name,
sayHi() {
console.log("Hi, my nam is " + this.name)
}
};
myObj.sayHi()
// Hi, my nam is John