Tôi muốn làm cho cấu trúc của một đối tượng không thay đổi được, ngăn không cho các thuộc tính của nó bị thay thế sau đó. Tuy nhiên, các thuộc tính cần phải đọc được. Điều này có thể không?Có cách nào để ngăn chặn thay thế các thuộc tính đối tượng JavaScript không?
Tôi chắc chắn không có tính năng ngôn ngữ (dọc theo các dòng final
trong Java và readonly
trong C#) để hỗ trợ điều này nhưng tự hỏi liệu có thể có cơ chế khác để đạt được kết quả tương tự không?
Tôi đang tìm một cái gì đó dọc theo những dòng:
var o = {
a: "a",
f: function() {
return "b";
}
};
var p = o.a; // OK
o.a = "b"; // Error
var q = o.f(); // OK
o.f = function() { // Error
return "c";
};
+1: ' freeze() 'nghe như những gì tôi theo sau. –
bạn đang chạy phiên bản 5?! – mkoryak
Tôi vừa đề cập đến nó để tham khảo. Tôi không chủ động lập trình chống lại ECMAScript 5. – EndangeredMassa