運行
起步安裝 npm install typescript -g
運行tsc index.ts
生成對應的js
文件,然后使用node index.js
執行js
文件
為了方便運行還可以安裝插件,ts-node index.ts
運行即可
npm i ts-node -g
npm init -y
npm i @types/node -D
基本數據類型
// 1.字符串
let a: string = '123'
let str: string = `dddd${a}`
console.log(str)// 2.數字
let notANumber: number = NaN
let num: number = 123
let infinityNumber: number = Infinity //無窮大
let hex: number = 0xf00d;//十六進制
let binary: number = 0b1010;//二進制
let octal: number = 0o744;//八進制s// 3.boolean類型 注意,使用構造函數 Boolean 創造的對象不是布爾值
// let createBoolean:boolean = new Boolean(1)
let createBoolean: object = new Boolean(1)
let boolean: boolean = true //可以直接使用布爾值
let boolean2: boolean = Boolean(1) //也可以通過函數返回布爾值// 4.空值類型 JavaScript 沒有空值(Void)的概念,在 TypeScript 中,可以用 void 表示沒有任何返回值的函數
function voidFn(): void {console.log('test void')
}
// void也可以定義undefined 和 null類型
let u: void = undefined
// let n: void = null; 非嚴格模式下可以// 5.null和undefined類型
let un:undefined = undefined
let nu:null = null
void和undefined和null的區別:
與 void 的區別是,undefined 和 null 是所有類型的子類型。也就是說 undefined 類型的變量,可以賦值給 string 類型的變量
void類型不可以分給其他類型,其他類型也不能分配給void類型
//這樣是沒問題的
let test1: null = null
let num2: string = "1"
num2 = test1//或者這樣的
let test2: undefined = undefined
let num3: string = "1"
num2 = test2
類型排序
1.top type : any 任意類型 unknow 不知道的類型
2.Object
3.Number String Boolean
4.number string boolean
5.1 ‘orange’ true
6.never
any和unknown類型
設置一個值為any類型和寫js相同
any類型可以隨便賦值或者賦值給別人
unknown類型除了自身和any是不可以賦值給別的類型的,可以接受別的值的賦值
unknown類型如果是對象,無法獲取到里面的屬性,無法調用里面的對象,any可以
Object和object和{}的區別
可以把{}理解為new Object,功能是類似的,object只能定義引用類型的值,不能定義基本數據類型