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

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

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

TypeScript是為開發(fā)大型應(yīng)用而設(shè)計(jì)的,并且TypeScript可轉(zhuǎn)譯成JavaScript。由于TypeScript是JavaScript的嚴(yán)格超集,任何現(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進(jìn)制和8進(jìn)制,讓我們來感受下

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

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

// 還有就是兩個(gè)奇葩兄弟兩,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

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

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

interface 接口

Typescript 文檔地址:Interface

Duck Typing 概念:

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

 

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

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

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

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

 

 

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

applek管理員

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

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

最新評論
小超
小超
7月9日
下個(gè)版本考慮將下載地址加密(防止采集)
Lvtu
Lvtu
7月4日
qiang厲害
評論于留言建議
chinacnd
chinacnd
6月26日
這個(gè)主題是怎么做到加載速度那么快的?
風(fēng)起云涌
風(fēng)起云涌
6月17日
前臺(tái)投稿現(xiàn)在有點(diǎn)太抽象了 希望可以弄成那種分區(qū)填寫的 標(biāo)題,內(nèi)容,圖片,目錄,標(biāo)簽,這樣的
評論于留言建議
主站蜘蛛池模板: 欧美亚洲另类在线| 国产成人精品在线播放| 国产在线精品一区二区三区| 日韩在线视频导航V| 国产高清自拍99| 国产欧美高清在线| 国产精品午夜国产小视频| 免费91麻豆精品国产自产在线观看| 91国产精品91| 91精品久久香蕉国产线看观看| 国产日韩第一页v| 国产精品乱码视频| 亚洲图片在线观看| 欧美日韩精品中文字幕一区二区 | 九九热精品在线| 国产在线精品一区| 国产精品97在线| 亚洲午夜精品一区二区| 欧美中日韩免费视频| 国产日韩亚洲欧美| 丁香六月激情网| 国产精品免费网站| 国产精品亚洲片夜色在线| 视频一区亚洲| 中文字幕一区二区三区四区五区六区| 日韩精品av一区二区三区| 久久精品99无色码中文字幕| 91极品视频在线| 国产亚洲精品美女久久久m| 亚洲狠狠婷婷综合久久久| 久久久这里只有精品视频| 97国产精品视频| 久久精品99久久| 欧美日本韩国一区二区三区| 国产成人在线一区| 日韩中文av在线| 久久视频在线免费观看| 色综合久久久久无码专区| 国产精品久久色| 国产一级片91| 久久久久福利视频|