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