Nó là một thuộc tính khởi tạo đối tượng viết tắt trong ES6.
var f = {a, b, c, d:1};
Điều này hoạt động vì giá trị thuộc tính có cùng tên với định danh thuộc tính. Đây là một bổ sung mới cho cú pháp của Trình khởi tạo đối tượng ( phần 11.1.5 ) trong bản nháp ECMAScript 6 mới nhất Rev 13 . Và tất nhiên, cũng giống như các giới hạn được đặt ra từ ECMAScript 3, bạn không thể sử dụng một từ dành riêng làm tên thuộc tính của mình.
Cách viết tắt như vậy sẽ không thay đổi đáng kể mã của bạn, nó chỉ làm cho mọi thứ trở nên ngọt ngào hơn một chút!
function createCar(name, brand, speed) {
return { type: 'Car', name: name, brand: brand, speed: speed };
}
function createSweetCar(name, brand, speed) {
return { type: 'Car', name, brand, speed };
}
Vui lòng xem bảng tương thích để được hỗ trợ cho các ký hiệu này. Trong môi trường không hỗ trợ, các ký hiệu này sẽ dẫn đến lỗi cú pháp.
Ký hiệu viết tắt này cung cấp đối tượng khớp khá độc đáo:
Trong ECMAScript5, những gì chúng tôi đã từng làm:
var tmp = getData();
var op = tmp.op;
var lhs = tmp.lhs;
var rhs = tmp.rhs;
Có thể được thực hiện trong ECMAScript6 với một dòng mã:
var { op, lhs, rhs } = getData();