2013-09-26 25 views
5

Khi tôi viếtTại sao tôi có thể viết một đối tượng như "c = {get a() {}}"?

var c = { get a(){} }; 

Kết quả là đối tượng c có một "có được một" và "thiết lập một" tài sản.

Tại sao?

Đã thử nghiệm trong Chrome và Firefox.

+0

Tại sao không? Đó là cách ngôn ngữ được thiết kế. Đây là cú pháp để chỉ định các thuộc tính getter và setter trong một [object literal] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters). – Bergi

Trả lời

2

Đôi khi đó là mong muốn để cho phép truy cập vào một tài sản mà trả một động giá trị tính toán, hoặc bạn có thể muốn phản ánh tình trạng của một biến nội mà không đòi hỏi việc sử dụng các cuộc gọi phương pháp rõ ràng. Trong JavaScript, điều này có thể được thực hiện với việc sử dụng một getter. Nó là không thể đồng thời có một getter ràng buộc với một tài sản và có tài sản đó thực sự giữ một giá trị, mặc dù nó có thể để sử dụng getter và setter kết hợp để tạo ra một loại giả giả.

- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/get

Các vấn đề liên quan