欧美激情中文字幕在线_国产区精品视频_免费久久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日
前臺投稿現在有點太抽象了 希望可以弄成那種分區填寫的 標題,內容,圖片,目錄,標簽,這樣的
評論于留言建議
主站蜘蛛池模板: 久久久精品视频在线观看| 欧美激情网友自拍| 99久久国产综合精品五月天喷水| 欧美婷婷久久| av在线播放亚洲| 青青青国产在线观看| 日韩中文字幕精品视频| 99视频在线免费观看| 久久精品午夜福利| 日本在线播放一区| 亚洲一卡二卡| 日韩中文字幕不卡视频| 高清视频一区| 国产精品久久久久久久久久99| 久久综合电影一区| 亚洲欧美日韩不卡| 97成人在线观看视频| 不卡av在线播放| 国产精品美女免费| 国产精品久久久久影院日本| 国产一区二区色| 国产免费亚洲高清| 99亚洲精品视频| 国产精品av免费| 国产精品久久国产| 91久久夜色精品国产网站| www日韩在线观看| 97精品国产91久久久久久| 亚洲最新免费视频| 日本精品视频一区| 亚洲.欧美.日本.国产综合在线| 99在线国产| 日韩中文字幕视频在线观看| 日韩视频一区在线| 久久婷婷国产精品| 国产欧美中文字幕| 国产成人精品电影久久久| 中文字幕制服丝袜在线| 日韩福利视频| 国产精品久久久久久久久久久久午夜片| 久久久黄色av|