2、TypeScript基本数据类型
2019-02-28 本文已影响1人
圆梦人生
TypeScript数据类型:(https://www.tslang.cn/docs/handbook/basic-types.html)
- 1、ts数据类型
- 1-1、布尔类型(boolean)
- 1-2、数字类型(number)
- 1-3、字符串类型(string)
- 1-4、数组类型(array)
- 1-5、元祖类型(tuple)
- 1-6、枚举类型(enum)
- 1-7、任意类型(any)
- 1-8、null 和 undefined
- 1-9、void类型
- 1-10、never类型
- 2、ts中变量必须指定类型
案例
// ts中变量都需要定义类型,并且赋对应类型的值
// 1、布尔类型
// 定义布尔值
let isFlag:Boolean = true;
// 赋值为false
isFlag = false;
console.log('isFlag = ', isFlag);
// 不能将类型“"abc"”分配给类型“Boolean”
//isFlag = 'abc'
// 2、数值类型
// 除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量
let num:number = 10;
num = 100;
num = 0o744;
num = 0b1010;
num = 0xf00d;
console.log('num = ', num);
// 不能将类型“true”分配给类型“number”
//num = true
// 3、字符串类型
let str:string = 'abc';
str = "def";
str = `模板字符串flag = ${isFlag}, num = ${num}`;
console.log('str = ', str);
// 不能将类型“123”分配给类型“string”
//str = 123
// 4、数组类型
// 4-1 定义数字类型数组
let array:number[] = [1, 2, 3, 4];
console.log('array = ', array);
// 4-2 定义数组
let array2:Array<string> = ['a', 'b', 'c']
console.log('array2 = ', array2);
// 定义数组对象
// let array3:Array<object> = [
let array3:Array<any> = [
{name: '1'},
{name: '2'},
]
console.log('array3 = ', array3);
// 5、元祖类型
let tup:[string, number] = ['abc', 13]
tup[0] = 'def';
tup[2] = 222
console.log(tup);
// 6、枚举类型
// 定义枚举
enum Log {all, debuger, info}
// 变量赋值
let l:Log = Log.debuger
console.log('log = ', l); // 如果没有定义值,就是从下标开始
//
enum Log2 {'all' = '全部', debuger = '调试', info = '部分'}
let l2:Log2 = Log2.all
console.log('log = ', l2); // 如果定义值,返回定义的值
// 7、任意类型any
let anyInfo:any = 'abc'
anyInfo = 12334
console.log('any = ', anyInfo);
// 8、null 和 undefined
// undefined
let u1:undefined;
console.log('u1 == ',u1);
let u2:number | undefined;
console.log('u2 == ', u2);
// null
let n1:null = null;
console.log('n1 == ', n1);
let n2:string | null | undefined;
n2 = 'abc'
console.log('n2 == ', n2);
// 9、void类型
let voidFun = ():void=>{console.log('没有返回值');}
voidFun();
let voidFun2 = ():number=>{return 123}
//let voidFun2 = ():any=>{return 'asdf'}
console.log('voidFun2 == ', voidFun2());
// 10、never类型
// never类型表示的是那些永不存在的值的类型
// 不能将类型“123”分配给类型“never”
// let a:never = 123;
let a:never;
a = (()=>{
throw new Error('错误')
} )()
console.log('a = ', a);