布尔
需要注意TS有boolean和Boolean两种类型,Boolean是boolean的封装对象,Boolean对象的值是boolean类型
//let a:boolean = new Boolean(1); 错误
let b:boolean = Boolean(1); //正确
枚举
枚举值和枚举名相互映射
enum Days {
Sun, Mon, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 0); //true
console.log(Days["Mon"] === 1); //true
console.log(Days["Tue"] === 2); //true
console.log(Days[0] === "Sun"); //true
console.log(Days[1] === "Mon"); //true
console.log(Days[2] === "Tue"); //true
类似对象调用属性的写法(实际上enum编译后就是一个对象),既可以用中括号+字符串应用属性,也可以用点运算符,如下也是等价的
enum Days {
Sun, Mon, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === Days.Sun); //true
console.log(Days["Mon"] === Days.Mon); //true
console.log(Days["Tue"] === Days.Tue); //true
但采用数组下标的写法与上面两种写法某些情况不同
enum Days {
Sun=1, Mon=3, Tue=4, Wed=2, Thu=3, Fri, Sat};
//如上的赋值意味着Days.Tue和Days.Fri的值都是4
console.log(Days["Tue"]);
console.log(Days["Fri"]);
console.log(Days.Tue);
console.log(Days.Fri);
//但是
console.log(Days[