- 布尔值
let isDone: boolean = false
// 使用构造函数创建的对象不是布尔值,返回的是一个boolean对象
let createByNewBoolean: boolean = new Boolean(1)
// 直接调用Boolean也可以返回一个boolean类型
let craeteByBollean: boolean = Boolean(1)
- 数值
let decLiteral: number = 6 // 十进制
let hexLiteral: number = 0xf00d // 十六进制、八进制、二进制
let notANumber: number = NaN
let infinityNumber: number = Infinity
- 字符串
let myName: string = 'Tom'
let myAge:number =25
let setence: string = `hello ${myname}, age${myAge}`
- 空值
javscript没有(Void)的概念,在Typescript中,可以用void表示没有任何返回值的函数
function alertName(): void {
alert('my name\)
}
申明一个void类型的变量没有什么用,因为只能赋值为undefined和null
let unusable: void = undefined
- Null和Undefined
在typescript中,可以使用null和undefined来定义这两个原始数据类型
let u: undefined = undefined
let n: null = null
// 与void的区别是,undefined和null是所有类型的子类型,也就是说,undefined类型可以赋值给number类型的变量、
let num: number = undefined
// 或者
let u: undefined;
let num:number = u;
// void类型的变量不能复制给number类型的变量
let u: void;
let num: number = u
// 报错, type 'void' is not assignable to tyoe 'number'
- 任意值(Any)用来表示允许复制伪任意类型
// 普通类型再复制过程中改变类型是不被允许的
let myFavoriteNumber: string = 'seven'
myFavoriteNumber = 7 // Type 'number' is not assignable to type 'string'.
// any类型,则允许被复制为任意类型
let myNumber: any = 'seven'
myNumber = 7
// 在任意值上可以访问任何属性和方法
let anyThing: any = 'hello'
console.log(anything.myName)
anyThing.setName('Jerry');
// 声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值