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);