Tôi đang xây dựng lại một dự án Java cũ trong Javascript, và nhận ra rằng không có cách nào tốt để làm enums trong JS.Enums trong Javascript với ES6
Điều tốt nhất tôi có thể đưa ra là:
const Colors = {
RED: Symbol("red"),
BLUE: Symbol("blue"),
GREEN: Symbol("green")
};
Object.freeze(Colors);
Các const
giữ Colors
khỏi bị bố trí, và đóng băng nó ngăn chặn biến đổi các phím và các giá trị. Tôi đang sử dụng Biểu tượng để Colors.RED
không bằng 0
hoặc bất kỳ thứ gì khác ngoài chính nó.
Có vấn đề với công thức này không? Có cách nào tốt hơn?
(Tôi biết câu hỏi này là một chút của một lặp lại, nhưng tất cả các previous Q/As khá cũ, và ES6 cho chúng ta một số tính năng mới.)
đây sẽ là một cách tiếp cận hoàn hảo trong es6. Bạn không phải đóng băng nó – Nirus
@Nirus bạn làm, nếu bạn không muốn nó được sửa đổi. – zerkms
Bạn có nhận thấy [câu trả lời này] (https://stackoverflow.com/a/30058506/1048572) không? – Bergi