免费在线观看污视频-亚洲精品永久免费-亚洲成a-日韩精品视频免费在线观看-黄色a网站-国产在线视频一区二区三区

TypeScript學習筆記

TypeScript 是一種由微軟開發的自由和開源的編程語言,它是 JavaScript 的一個超集,擴展了 JavaScript 的語法。

TypeScript是為開發大型應用而設計的,并且TypeScript可轉譯成JavaScript。由于TypeScript是JavaScript的嚴格超集,任何現有的JavaScript程式都是合法的TypeScript程序。

安裝 Typescript

Typescript 官網地址: https://www.typescriptlang.org/zh/

使用 nvm 來管理 node 版本: https://github.com/nvm-sh/nvm

安裝 Typescript:

npm install -g typescript

使用 tsc 全局命令:

 

// 查看 tsc 版本
tsc -v
// 編譯 ts 文件
tsc fileName.ts

數據類型

原始數據類型

Typescript 文檔地址:Basic Types

Javascript 類型分類:

原始數據類型 - primitive values:

  • Boolean
  • Null
  • Undefined
  • Number
  • BigInt
  • String
  • Symbol
let isDone: boolean = false

// 接下來來到 number,注意 es6 還支持2進制和8進制,讓我們來感受下

let age: number = 10
let binaryNumber: number = 0b1111

// 之后是字符串,注意es6新增的模版字符串也是沒有問題的
let firstName: string = 'viking'
let message: string = `Hello, ${firstName}, age is ${age}`

// 還有就是兩個奇葩兄弟兩,undefined 和 null
let u: undefined = undefined
let n: null = null

// 注意 undefined 和 null 是所有類型的子類型。也就是說 undefined 類型的變量,可以賦值給 number 類型的變量:
let num: number = undefined

any 類型

let notSure: any = 4
notSure = 'maybe it is a string'
notSure = 'boolean'
// 在任意值上訪問任何屬性都是允許的:
notSure.myName
// 也允許調用任何方法:
notSure.getName()

 

Array 和 Tuple

Typescript 文檔地址:Array 和 Tuple

//最簡單的方法是使用「類型 + 方括號」來表示數組:
let arrOfNumbers: number[] = [1, 2, 3, 4]
//數組的項中不允許出現其他的類型:
//數組的一些方法的參數也會根據數組在定義時約定的類型進行限制:
arrOfNumbers.push(3)
arrOfNumbers.push('abc')

// 元祖的表示和數組非常類似,只不過它將類型寫在了里面 這就對每一項起到了限定的作用
let user: [string, number] = ['viking', 20]
//但是當我們寫少一項 就會報錯 同樣寫多一項也會有問題
user = ['molly', 20, true]

interface 接口

Typescript 文檔地址:Interface

Duck Typing 概念:

如果某個東西長得像鴨子,像鴨子一樣游泳,像鴨子一樣嘎嘎叫,那它就可以被看成是一只鴨子。

 

// 我們定義了一個接口 Person
interface Person {
  name: string;
  age: number;
}
// 接著定義了一個變量 viking,它的類型是 Person。這樣,我們就約束了 viking 的形狀必須和接口 Person 一致。
let viking: Person ={
  name: 'viking',
  age: 20
}

//有時我們希望不要完全匹配一個形狀,那么可以用可選屬性:
interface Person {
    name: string;
    age?: number;
}
let viking: Person = {
    name: 'Viking'
}

//接下來還有只讀屬性,有時候我們希望對象中的一些字段只能在創建的時候被賦值,那么可以用 readonly 定義只讀屬性

interface Person {
  readonly id: number;
  name: string;
  age?: number;
}
viking.id = 9527

 

 

THE END
主站蜘蛛池模板: 悟空影视大全免费高清 | 91久久亚洲精品一区二区 | 91国语精品自产拍在线观看一 | 91不卡在线精品国产 | 国产成人夜间影院在线观看 | a毛片免费全部播放完整成 a毛片免费全部在线播放毛 | 伊人久久网站 | 色偷偷888欧美精品久久久 | 成人国产网站 | 精品日本久久久久久久久久 | 国产精品特级毛片一区二区三区 | 美女张开腿让男人操 | 欧美性性性性性色大片免费的 | 黄色三级网站 | 国产老妇k | 国产成人综合日韩精品无 | 中文字幕一区在线 | 农村三级孕妇视频在线 | 成人男女视频 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 日韩一级黄色毛片 | 国产在线精品一区二区三区不卡 | 国产精品久久久久久影视 | 免费观看欧美精品成人毛片 | 国产精品资源在线 | 国产性自爱拍偷在在线播放 | 亚洲精品国产经典一区二区 | 老司机午夜精品网站在线观看 | 免费观看a级毛片在线播放 免费观看a级网站 | 亚洲欧美一区二区三区不卡 | 午夜性爽快免费视频播放 | 久久国产精品免费看 | 九一国产 | 日韩欧美成末人一区二区三区 | 在线日韩国产 | 久久久日韩精品国产成人 | 大尺度福利视频在线观看网址 | 亚洲精品久久久久午夜三 | 高清性色生活片久久久 | 91日韩精品天海翼在线观看 | 国产美女视频做爰 |