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