01.TypeScript基础类型

94 阅读2分钟

TypeSctipt是JavaScript的超集。所以包含了所有的JavaScript类型

1.起步安装

npm install typescript -g

2.运行

tsc 文件名

基础类型:BooleanNumberStringnullundefined 以及ES6的Symbol和ES10的 BigInt

1.字符串类型

字符串是使用string定义的

// 普通定义方式
let str:string = 'hello'
// 模版字符串方式
let str:string = `hello ${996007}` 
2.数字类型

支持十六进制、十进制、八进制和二进制;

let notANumber: number = NaN; // NaN
let num: number = 123; // 普通数字
let infinityNumber: number = Infinity;// 无穷大
let decimal: number = 6;// 十进制
let hex: number = 0xf00d;// 十六进制
let binary: number = 0b1010;// 二进制
let octal: number = 0o744;// 八进制
3.布尔类型
let booleand: boolean = true // 可以直接使用布尔值
let booleand: boolean = Boolean(1) // 也可以通过函数返回布尔值
4.空值类型

JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用void表示没有任何返回值的函数

function voidFn(): void {
    console.log('hello')
}

void 类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数

void也可以定义undefined 和 null类型

let u: void = undefined
let n: void = null;
5.Null和undefined类型
let u: undefined = undefined;// 定义undefined
let n: null = null;// 定义null
void 和 undefined 和 null 最大的区别
void 的区别是,undefinednull 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量:
// 这样写会报错 void类型不可以分给其他类型
let test: void = undefined
let num2: string = "1"
num2 = test
// 这样是没问题的
let test: null = null
let num2: string = "1"
num2 = test
 
// 或者这样的
let test: undefined = undefined
let num2: string = "1"
 
num2 = test

如果你配置了tsconfig.json 开启了严格模式

{
    "compilerOptions":{
        "strict": true
    }
}
null就不能赋给void 类型