基礎類型包括
布爾值
數值
字符串
數組
元組
枚舉值
any
viod
null 和undefined
never
object
類型斷言數組
// 布爾類型 // let bool: boolean =false let bool :boolean bool \= true // bool=123 // 數值類型 let num : number num \= 123 // num ="ppp" num \= 0b1111 num \= 0o173 num \= 0x7b // 字符串類型 let str:string str \= 'acv' str \= \`數值是${num}\` // console.log(str) // 數組類型 // \[1,2,3\] let arr1 :number\[\] arr1\=\[1\] let arr2: Array<number\> arr2 \= \[1,2\] let arr3:(string|number)\[\] arr3 \= \[1,'s'\] // 元組類型 let tuple :\[number,string,boolean\] tuple \= \[1,'d',false\] //枚舉類型 enum Roles { SUPER\_ADMIN, ADMIN\=4, USER } // console.log(Roles.ADMIN)//4 // console.log(Roles\[4\])//ADMIN // var Roles; // (function (Roles) { // Roles\[Roles\["SUPER\_ADMIN"\] = 0\] = "SUPER\_ADMIN"; // Roles\[Roles\["ADMIN"\] = 4\] = "ADMIN"; // Roles\[Roles\["USER"\] = 5\] = "USER"; // })(Roles || (Roles = {})); // any類型 let value:any value \= '123' value \= 123 value \= false const arr4:any\[\]\=\[1,2,'qw'\] // void類型 const consoleText\=(test:string):void\=>{ console.log(test) } let v:void v\=undefined v\=null consoleText('asd') // null類型和undefined let u:undefined u \=undefined let n:null n \= null num \= null num \= undefined // never類型 const errorFunc \= (message:string):never\=>{ throw new Error(message) } // errorFunc('acd') const infiniteFunc \= ():never \=>{ while(true){} } // let neverVariable = (()=>{ // while(true){} // })() // num=neverVariable // object let obj \= { name:'lkl' } let obj2 \= obj obj2.name \= 'lll' // console.log(obj) const getObj \= (obj:object):void\=>{ console.log(obj) } getObj(obj2) // 類型斷言 const getLength \= (target:string|number):number\=>{ if((<string\>target).length||(target as string).length\===0){ return (<string\>target).length }else{ return target.toString().length } } console.log(getLength(5555))