-
number數(shù)字類(lèi)型:整數(shù)、浮點(diǎn)數(shù)、正負(fù)數(shù)
string字符串類(lèi)型:"hello"? ? 'hello'? ? `hello`
boolean布爾類(lèi)型:處理真假值
查看全部 -
ts的類(lèi)型:
boolean
string
number
array
tuple
enum
null
undefined
object
void
never
any
查看全部 -
ts的基礎(chǔ)類(lèi)型
1、變量生命
let const(常量) var
const:聲明常量,永遠(yuǎn)不能修改
let:基于es6標(biāo)準(zhǔn)下,解決var帶來(lái)的作用域問(wèn)題,區(qū)塊作用域,更加安全,放棄使用var
查看全部 -
ts工作流?
ts - tsc編譯器-js
ES6=ES2015,從此 版本開(kāi)始有了根本的變化,從此開(kāi)始就以ES命名
ES2016-ES7
ES2017-ES8
如何管理前端項(xiàng)目?
npm
創(chuàng)建index.html文件:使用vs code的快捷方式創(chuàng)建文件內(nèi)容:html:5
npm init
npm install --save-dev?lite-server
lite-server 輕量級(jí)服務(wù)器
devDependencies和dependencies區(qū)別:
devDependencies:參與項(xiàng)目開(kāi)發(fā),不會(huì)打包到生產(chǎn)環(huán)境中,即不會(huì)部署到服務(wù)器中
dependencies:都會(huì)被打包到服務(wù)器中
好處:有效降低網(wǎng)站大小,加速用戶(hù)打開(kāi)網(wǎng)站的時(shí)間
查看全部 -
如何配置ts的開(kāi)發(fā)環(huán)境?
1、安裝node
2、安裝ts:npm install -g typescript
3、查看ts版本:tsc -v
4、安裝 vs code
5、新建main.ts
6、運(yùn)行main.ts文件:tsc main.ts 在文件中會(huì)出現(xiàn)main.js
7、運(yùn)行main.js:node main.js? ?在控制臺(tái)會(huì)出現(xiàn)console打印內(nèi)容
fix:ts無(wú)法運(yùn)行在瀏覽器中
官方安裝文檔:https://www.typescriptlang.org/docs/handbook/typescript-tooling-in-5-minutes.html
查看全部 -
什么是ts
ts是js的超集,包含主流的ES標(biāo)準(zhǔn)
fix:ts無(wú)法在瀏覽器運(yùn)行
強(qiáng)類(lèi)型
1、規(guī)范代碼
2、代碼編譯階段就能及時(shí)發(fā)現(xiàn)錯(cuò)誤
3、在原生js基礎(chǔ)上加上一層類(lèi)型定義
為什么要使用ts
1、自動(dòng)進(jìn)行類(lèi)型檢查,類(lèi)型推演與類(lèi)型匹配
2、極大程度上避免低級(jí)錯(cuò)誤,在開(kāi)發(fā)編譯時(shí)報(bào)錯(cuò)
3、解放勞動(dòng)力
4、提供代碼質(zhì)量
5、支持js最新特性(包含es6/7/8)
查看全部 -
2012年由微軟正式發(fā)布
查看全部 -
元組是固定長(zhǎng)度固定類(lèi)型的數(shù)組,有利于數(shù)據(jù)判斷,邏輯處理
聲明一個(gè)元組的時(shí)候一定要指明類(lèi)型,不指定類(lèi)型它就是一個(gè)普通數(shù)組
bug:使用.push可以無(wú)限的追加元素查看全部 -
TS 對(duì)象 Object 的定義非常明確
如果直接使用 object 類(lèi)型定義,相當(dāng)于 {},調(diào)用會(huì)報(bào)錯(cuò),改為 any 就好。
查看全部 -
可選參數(shù)、默認(rèn)參數(shù)只能放到參數(shù)列表末尾,否則會(huì)報(bào)錯(cuò)
查看全部 -
類(lèi)是一個(gè)特殊函數(shù),定義、更新、聲明函數(shù),特性封裝、繼承、多態(tài);
訪(fǎng)問(wèn)修飾符:public private protected
class 中成員變量、成員方法默認(rèn)都是公共的
public:語(yǔ)法糖,聲明公共成員變量及constructor 傳參初始化公共成員變量的語(yǔ)法糖
公共成員變量,可以在實(shí)例化對(duì)象-key方式直接更新、獲取
private:私有成員變量,僅在class內(nèi)部使用,外部無(wú)法直接訪(fǎng)問(wèn);可以在class內(nèi)部暴露公用成員方法,更新或者取值;
查看全部 -
type assertions類(lèi)型斷言:變量為聯(lián)合類(lèi)型或者any時(shí),明確知道當(dāng)前類(lèi)型時(shí),可以進(jìn)行斷言
let msg:any
msg = 'this is a string'
const res = (<string>msg).endsWith('s');
const res = (msg as string).endsWith('s');
查看全部 -
any: 定義可以為任何類(lèi)型,減少?gòu)?fù)雜類(lèi)型,快速開(kāi)發(fā),不會(huì)保障類(lèi)型安全
unknown:定義為未知類(lèi)型,類(lèi)型推論,保障類(lèi)型安全
查看全部 -
枚舉類(lèi)型:枚舉類(lèi)型值默認(rèn)從0開(kāi)始,可以簡(jiǎn)寫(xiě);也可以指定初始值,每個(gè)枚舉依次累加;
也可自定義每個(gè)枚舉項(xiàng)數(shù)值;
?enum Color {
????red, // 0
????orange, // 1
????yellow // 2
}
?enum Color {
????red = '紅色',
????orange = '橙色',?
????yellow = '黃色'?
}
查看全部 -
聯(lián)合類(lèi)型:為變量指定多種類(lèi)型,類(lèi)型用 | 間隔,此變量可以為聯(lián)合類(lèi)型中任何一種類(lèi)型
let union1: number | string | boolean = 1;
字面量類(lèi)型: 指定變量類(lèi)型及取值范圍,可以組合聯(lián)合類(lèi)型一塊使用;
let union2:1 | 'str' | [1,2,3] = '字面量類(lèi)型'
查看全部 -
元祖:固定長(zhǎng)度、類(lèi)型、類(lèi)型順序的數(shù)組類(lèi)型;
push可以突破元祖類(lèi)型限制
const person1 = [1, 'name']? // --- 不是元祖,是聯(lián)合類(lèi)型,僅限制類(lèi)型;長(zhǎng)度及類(lèi)型順序無(wú)限制
查看全部 -
全局作用域 函數(shù)作用域
es6 塊狀作用域查看全部
舉報(bào)