个人笔记-TypeScript中的数据类型1

186 阅读1分钟

ES6中的6个基本数据类型和3个引用数据类型

基本数据类型

Boolean Number String undefined null Symbol

引用数据类型

Object Array Function

TypeScript对ES6数据类型的扩展

可以分为以下6种

void any never 元组 枚举 高级类型

TypeScript中数据类型的声明

Boolean

let bool: boolean = true

Number

let num: number = 1

String

let str: string = 'hello'

Array

let arr1: number[] = [1, 2, 3, 1];
let arr2: Array<string> = ['1', '2', '4'];

Function

let fun1 = (x: number, y: number) => {  // void 无返回值
  x + y;    
}

let fun2 = (x: number, y: number) => x + y;  // 返回number

let fun3:  (x: number, y: number) => number; // 返回number
fun3 = (a, b) => a * b;

Object

let obj: {x: number, y: number} = {x: 1, y: 2}
obj.x = 4;
console.log(obj.x)  //4

Symbol

let s1: symbol = Symbol();
let s2 = Symbol();
console.log(s1 === s2)  //false

undefined & null

// undefined null   只能等于自己 且在开启严格模式的情况下 不允许赋值给其他类型(虽然在js中默认undefined和unll是其他任何类型的子类型,但在ts中也不行)
let un: undefined = undefined;
let nu: null = null;   

void

let noReturn = () => {}  // 没有返回值的函数(隐式返回undefined)

never

// 永远不会有返回值的函数(不能正常结束的函数)
let error = () => {
  throw new Error('error');
}
let endless = () => {
  while(true) {}
}

any

// 兼容es6
let x;
x = 1;
x = "2"

let y: any = false;
x = 1;
x = "2"

联合类型

let ns: number | string = 1;
ns = '2'  // 既可以是number也可以是string