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”。
经验分享 程序员 微信小程序 职场和发展