欧美激情中文字幕在线_国产区精品视频_免费久久99精品国产自_日韩精品 欧美

TypeScript學(xué)習(xí)筆記

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

TypeScript是為開發(fā)大型應(yīng)用而設(shè)計的,并且TypeScript可轉(zhuǎn)譯成JavaScript。由于TypeScript是JavaScript的嚴格超集,任何現(xiàn)有的JavaScript程式都是合法的TypeScript程序。

安裝 Typescript

Typescript 官網(wǎng)地址: 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

數(shù)據(jù)類型

原始數(shù)據(jù)類型

Typescript 文檔地址:Basic Types

Javascript 類型分類:

原始數(shù)據(jù)類型 - 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
// 也允許調(diào)用任何方法:
notSure.getName()

 

Array 和 Tuple

Typescript 文檔地址:Array 和 Tuple

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

// 元祖的表示和數(shù)組非常類似,只不過它將類型寫在了里面 這就對每一項起到了限定的作用
let user: [string, number] = ['viking', 20]
//但是當(dāng)我們寫少一項 就會報錯 同樣寫多一項也會有問題
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'
}

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

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

 

 

上一篇 利用Fiddler調(diào)試微信網(wǎng)頁js
下一篇 使用livereload插件為項目自動刷新
目錄
applek

applek管理員

個人說明在個人中心里面設(shè)置

本月創(chuàng)作熱力圖

最新評論
小超
小超
7月9日
下個版本考慮將下載地址加密(防止采集)
Lvtu
Lvtu
7月4日
qiang厲害
評論于留言建議
chinacnd
chinacnd
6月26日
這個主題是怎么做到加載速度那么快的?
風(fēng)起云涌
風(fēng)起云涌
6月17日
前臺投稿現(xiàn)在有點太抽象了 希望可以弄成那種分區(qū)填寫的 標(biāo)題,內(nèi)容,圖片,目錄,標(biāo)簽,這樣的
評論于留言建議
主站蜘蛛池模板: 日韩aⅴ视频一区二区三区| 国产精品入口免费视| 日本一区高清在线视频| 久久99久久久久久| 日韩在线观看a| 亚洲人成网站在线观看播放| 久久久久久国产精品| 性高潮久久久久久久久| zzijzzij亚洲日本成熟少妇| 国产伦精品一区二区三区视频免费 | 欧美日韩国产免费一区二区三区| 无码人妻精品一区二区蜜桃网站 | 欧美精品999| 日韩精品一区二区三区丰满| 亚洲欧洲精品在线| 伊人久久在线观看| av免费观看国产| 99视频在线播放| 尤物一区二区三区| 99精品视频在线看| 亚洲综合在线播放| 日韩中文在线中文网三级| 日韩欧美亚洲日产国| 日本三级久久久| 欧美精品久久久久久久久久久| 欧美激情中文网| 久久久久久久久91| 久久av一区二区| 国产精品自产拍高潮在线观看| 国产精品综合不卡av| 国产精品久久久久免费| 国产精品久久久久久久久久久久 | 青青精品视频播放| 久久免费视频在线观看| 久久精品ww人人做人人爽| 九九久久九九久久| 国产精品人人做人人爽| 91久久精品美女| 日韩欧美在线播放视频| 久久久欧美精品| 国产福利久久精品|