ES6符號非常適合枚舉,因爲它們避免了碰撞。我thouhgt是TS對枚舉如果target:'es6'
enum
型中使用的符號,但它並不:爲什麼不使用符號作爲枚舉
enum Role {Employee, Manager, Admin}
let role: Role = Role.Employee;
transpiles到
var Role;
(function (Role) {
Role[Role["Employee"] = 0] = "Employee";
Role[Role["Manager"] = 1] = "Manager";
Role[Role["Admin"] = 2] = "Admin";
})(Role || (Role = {}));
let role = Role.Employee;
任何想法,爲什麼?使用這種方法Role.Employee
的值爲0
,並且在運行時可以使用任何其他值爲0
的枚舉代替Role.Employee
?
看看這個問題:[允許數字以外的類型](https://github.com/Microsoft/TypeScript/issues/1206) –
@NitzanTomer,謝謝,我來看看 –