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

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

 

 

上一篇 利用Fiddler調試微信網頁js
下一篇 使用livereload插件為項目自動刷新
目錄
applek

applek管理員

個人說明在個人中心里面設置

本月創作熱力圖

最新評論
小超
小超
7月9日
下個版本考慮將下載地址加密(防止采集)
Lvtu
Lvtu
7月4日
qiang厲害
評論于留言建議
chinacnd
chinacnd
6月26日
這個主題是怎么做到加載速度那么快的?
風起云涌
風起云涌
6月17日
前臺投稿現在有點太抽象了 希望可以弄成那種分區填寫的 標題,內容,圖片,目錄,標簽,這樣的
評論于留言建議
主站蜘蛛池模板: 国产精品美女久久久久av福利 | 国产熟女高潮视频| 欧美日韩一区二区视频在线 | 国产精品美女网站| 日韩精品一区二区三区外面| 在线视频不卡一区二区三区| 久久久久久91香蕉国产| 欧美日韩午夜爽爽| 日韩av成人在线观看| 少妇av一区二区三区无码| 亚洲视频导航| 日韩少妇中文字幕| 日韩有码在线观看| 水蜜桃亚洲精品| 亚洲91精品在线观看| 国产精品久久久久av| 国产精品成人一区二区| 国产99视频在线观看| 国产精品毛片a∨一区二区三区|国 | 91久久久久久久一区二区| 国产精品国产亚洲精品看不卡15| 国产精品视频免费在线| 国产精品视频二| 高清视频一区| zzjj国产精品一区二区| 一本一道久久久a久久久精品91| 中文字幕欧美日韩一区二区| 亚洲欧洲一区二区| 日本一区二区三区视频在线观看| 日本午夜精品一区二区三区| 热久久这里只有精品| 日韩av资源在线| 欧洲精品视频在线| 久久久久久亚洲精品| 国产中文字幕91| 高清av免费一区中文字幕| 日韩中文字幕二区| 欧美中文字幕视频| 国模无码视频一区二区三区| 国产精品高清网站| 一区中文字幕在线观看|