TypeScript
基础类型:Boolean、Number、String、null、undefined以及ES6的Symbol和ES10的BigInt
1.布尔值
let isDone:boolean=false //可以直接使用布尔值
let isDone:bolean=Boolean(2) //可以通过函数返回布尔值
注意,使用构造函数Boolean创造的对象不是布尔值
let createdBoolean:boolean=new Boolean(1)
//这样会报错,应为实际上new Boolean()返回的是一个Boolean对象,修改为
let createdBoolean:Boolean=new Boolean(1)
2.数字
ts里的所有数字都是浮点数,类型是number,支持十进制、十六进制、二进制、八进制
let num:number=6 //普通数字 十进制
let hex:number=0xfd //十六进制
let binary:number=0b010 //二进制
let octal:number=0o744 //八进制
let notANum:number=NaN //NaN
let infinity:number=Infinity//无穷大
3.字符串
使用双引号(“)或单一号(‘)表示字符串,还可以使用模板字符串,反引号(`)以${expr}形式嵌入表达式
let name:string="bob"
let name:stirng=`Gene`
let sentence:string=`Hello,my name is ${name}`等价于:
let sentence:string="Hello,my name is"+name
4.空值类型
当一个函数没有返回值时,其返回值类型是void
function warnUser():void{
console.log('test void')
}
void类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数
声明一个void类型的变量没有什么大用,因为你只能为它赋予undefined和null
let unusable:void=undefined
let unusable:void=null
5.Null和undefined
let u:undefined=undefined //定义undefind
let n:null=null //定义null
与void的区别是,undefined和null是所有类型子类型。也就是说undefined和null类型的变量,可以赋值给string类型的变量
let test:void=undefind
let name:string='1'
name=test //这样写会报错,void类型不可以分给其他类型
let test:null=null
let name:string='1'
name=test //这样是没问题的
或者这样
let test:undefined=undefined
let name:string='1'
name=test
注意:
如果配置tsconfig.json开启了严格模式
{
”compilerOptions“:{
"strict":true
}
}
let n:void=null 提示错误,null不能赋予void类型
let u:void=undefined 提示错误,undefined不能赋予void类型
{
”compilerOptions“:{
"strictNullChecks":true
}
}
如果指定strictNullChecks标记,null和undefined只能赋值给void和他们各自