TypeScript基础篇 --- 原始数据类型
原始数据类型
JavaScript中的类型分为两种:原始数据类型(primitive data types)和对象类型(Object types)。 栈:原始数据类型(Undefined,Null,Boolean,Number、String) 堆:引用数据类型(对象、数组、函数) 原始数据类型包括:布尔值,数值,字符串,null,undefined以及es6中的新类型Symbol和BigInt。 本节主要介绍前五种原始数据类型在 TypeScript 中的应用。
布尔值
在ts中使用boolean定义布尔值类型:
let isDone:boolean = false
注意,这里是boolean类型,Boolean(1)返回的是一个布尔值,但是通过new Boolean(1)返回的是一个Boolean类型的对象,所以这里使用let isDone:boolean = new Boolean(1)会编译报错。
数值
使用number定义数值类型:
let decliteral: number = 6; let hexLiteral: number = 0xf00d; // es6中的十六进制表示法 let binaryLiteral: number = 0b1010; // es6中的二进制表示法 let ocatalLiteral: number = 0o744; // es6中的八进制表示法 let notANuber:number = NaN; let infinityNuber:number = Infinity;
字符串
使用string定义字符串类型:
let myName:string = Tom; let myAge:number = 25; let sentence:string = `hello,my name is ${myName},Ill be ${myAge + 1} years old next month. `
空值
JavaScript中没有空值(Void)的概念,在TypeScript中,可以用void表示没有任何返回值的函数。
function alertName(): void { alert(My name is Tom); }
声明一个 void 类型的变量没有什么用,因为你只能将它赋值为 undefined 和 null:
let unusable1: void = undefined; let unusable2: void = null;
但是不能开启严格模式,只有在"strict": false的情况下才能赋值null否则编译会报错。
Null 和 Undefined
在TypeScript中,可以使用null和undefined来定义这两个原始类型:
let u:undefined = undefined let n:null = null
与void的区别是,undefined和null是所有类型的子类型。也就是说undefined和null类型的变量,可以复制给所有类型的变量。(这里同样不能开启严格模式)
let u:undefined = undefined let n:null = null let s:string = u; s = n; let num:number = u; num=n; let bl:boolean =u; bl=n; let v:void = u; v=n;
而void类型的变量不能赋值给其他类型的变量:
let u:void; let num:number = u // 不能将类型“void”分配给类型“number”。
上一篇:
通过多线程提高代码的执行效率例子