-
聯(lián)合類型
一個(gè)變量支持一個(gè)、兩個(gè)或幾個(gè)不同的類型,使用|分割
字面量類型
let unionA:0|1|2
let unionB:1|“2”|true|[1,2,4]
查看全部 -
數(shù)組
[] 中括號(hào)創(chuàng)建數(shù)組
數(shù)組中存放任意類型的數(shù)據(jù),可以是不同類型的
tuple元組類型
固定長(zhǎng)度及類型的數(shù)組。
聲明元組的時(shí)候一定要指明數(shù)據(jù)類型。只有制定了類型才算是元組,否則是普通的Array
元組目前是有Bug的,push方法可以越界push
查看全部 -
String字符串類型
反引號(hào):``,可以創(chuàng)建一個(gè)字符串模板
方法中使用
function add(n1:number, n2:number){
}
定義變量
let n1:number;
查看全部 -
變量聲明
let :ES6,有完善的作用域。
const :常量
var:作用域混亂,禁用var
查看全部 -
JavaScript誕生于1994年,由ECMAInternational(艾瑪國(guó)際)負(fù)責(zé)維護(hù),所以也叫ECMAScript,縮寫就是ES,就是JavaScript的標(biāo)準(zhǔn)或版本
目前ES3、ES5所有瀏覽器都支持
ES6=ES2015目前瀏覽器是不支持的,但是未來一定會(huì)支持
npm init :創(chuàng)建一個(gè)使用npm作為包管理器的項(xiàng)目
npm install --save-dev lite-server:開發(fā)環(huán)境的輕量級(jí)服務(wù)器
查看全部 -
類型的英語(yǔ)Type 是TypeScript命名的由來
但是瀏覽器中目前是無法直接運(yùn)行TypeScript的,編寫完畢TypeScript代碼后需要使用編譯器進(jìn)行編輯成JavaScript進(jìn)行運(yùn)行,其實(shí)不是Java等的編譯成機(jī)器語(yǔ)言,實(shí)際是翻譯成JS語(yǔ)法
為什么要使用TS?
查看全部 -
webpack打包
查看全部 -
強(qiáng)類型定義、面向?qū)ο?、泛?/p>
查看全部 -
js中,可以在字符串前面加+號(hào)來強(qiáng)制轉(zhuǎn)換為數(shù)字類型
如:
let?num1='11', num2='22'
return +num1 + +num2
查看全部 -
tsc 運(yùn)行文件
查看全部 -
module模塊
1?,F(xiàn)在在我們的程序中只有一個(gè)class文件結(jié)構(gòu)非常簡(jiǎn)單。但是在真正的實(shí)戰(zhàn)項(xiàng)目中,可能會(huì)有成百上千的class文件包含成百上千的定義。如何把這些文件按照依賴關(guān)系依次組合起來成為一個(gè)完整的程序,那就需要我們使用module這個(gè)概念啊?;氐轿覀兊拇a,我們不希望把所有的代碼都寫在同一個(gè)文件里面,我們需要把定義point轉(zhuǎn)移到另外一個(gè)文件中,那么接下來先新建一個(gè)point.ts文件。
2?,F(xiàn)在這個(gè)文件還不能稱為module,因?yàn)檫@個(gè)point類只能在point.ts這個(gè)文件內(nèi)部使用。其他文件是無法訪問到這個(gè)文件。所以為了能夠?qū)崿F(xiàn)外部文件的訪問,我們需要使用export這個(gè)關(guān)鍵詞來導(dǎo)出,我們只需要在類的名稱前加上關(guān)鍵詞?,F(xiàn)在我們這個(gè)文件就導(dǎo)出了這個(gè)了類。接下來回到主ts3。我們把point class引入進(jìn)來,引入外部文件,使用import from這個(gè)語(yǔ)句。import語(yǔ)句必須放在文件的最開始。而在form句中,我們需要添加的就是point.ts的文件路徑。請(qǐng)注意,在文件路徑中不需要加入后綴點(diǎn)。如果文件沒有聲明默認(rèn)模塊,那么我們需要加上花括號(hào)。而花括號(hào)內(nèi)部填入需要引入的類或者函數(shù)或者是變量的名稱。而現(xiàn)在我們需要導(dǎo)入的就是患Point這個(gè)類。
查看全部 -
1。發(fā)現(xiàn)報(bào)錯(cuò)了,錯(cuò)誤的信息告訴我們,只有在他給為e S5或者更高的時(shí)候,才可以使用set get,所以當(dāng)我們使用了set和get懶人包以后,編譯器的版本必須至少設(shè)置為es5或者es6以上.
查看全部 -
12。簡(jiǎn)單來說就是把私有屬性x和y封裝一下,讓外部通過特定的方法。Setter和getter來進(jìn)行訪問,typescript作為一種這么高大上的語(yǔ)言。當(dāng)然他會(huì)提供另一種高級(jí)的寫法,懶人包。這是一個(gè)非常特殊的語(yǔ)法結(jié)構(gòu)。
13。使用get和set懶人包,首先我們需要使用關(guān)鍵詞set和get,這樣我們就可以把get和set變成set x和get x。這樣的結(jié)構(gòu)去掉箭頭函數(shù),把它變?yōu)橐粋€(gè)普通的函數(shù)拓展。那么現(xiàn)在我們的get和set懶人包就完成了。我們?cè)撊绾问褂眠@個(gè)getter和setter呢?很簡(jiǎn)單,在我們代碼中,setter和getter已經(jīng)不存在了,取而代之的是point點(diǎn)x請(qǐng)同學(xué)們注意,這是大寫x,如果我們需要賦值,直接就讓這個(gè)大寫x等于具體的數(shù)據(jù)就可以了。那怎么樣使用getter呢?同樣的道理,我們可以直接在point點(diǎn)大寫x就可以取得他的具體數(shù)據(jù)了,這樣處理的好處是什么呢?我們的getter和setter不需要再寫那么多繁瑣的代碼,而我們?cè)谶M(jìn)行調(diào)用的時(shí)候,也不需要像函數(shù)一樣進(jìn)行調(diào)用,只需要向class的屬性一樣來使用就可以了。這種寫法會(huì)讓代碼看起來更加整潔,更加干凈。這就是get和set懶人包的用法。
14。懶人包聲明15。不同的公司有不同的命名規(guī)范,有些公司在處理成員變量的時(shí)候,會(huì)把大寫的X換成小寫的x這個(gè)時(shí)候變量名稱就會(huì)重復(fù),所以一般來說解決方案就是私有成員變量,下面加上下劃線就可以解決這樣的問題了interface x:number private _x
查看全部 -
1。定義好的類 默認(rèn)情況下還是可以通過訪問對(duì)象可以給類的成員變量重新賦值
2。重新賦值的操作實(shí)際上是十分危險(xiǎn)的,所以一般來說需要通過訪問修飾符對(duì)訪問類內(nèi)部的變量或者方法加以限制
3。ts里的三種修飾符
1、public:公有,在類里面、子類、類外面都可以訪問
2、protected:保護(hù)類型,在雷里面、子類里面可以訪問,在類外部不能訪問
3、private:私有,在類里面可以訪問,子類、類外邊不能訪問4。接口interface就相當(dāng)于類class的一份說明書,不管是不管是變量也好,方法也好,全部是公開的。所以當(dāng)我們用private修飾橫縱坐標(biāo)的時(shí)候,而接口中的定義卻是公有屬性,我們的代碼自然就會(huì)報(bào)錯(cuò)了。
5。構(gòu)造函數(shù)中成員變量都通過訪問修飾符改成私有變量后 相應(yīng)的接口定義也應(yīng)該修改定義 即接口定義中刪除私有變量的待刪除的公有屬性
6。因?yàn)樵谀J(rèn)情況下,所有的成員變量以及成員方法都會(huì)是public公有屬性。所以我們不需要給每一個(gè)成員變量或者每一個(gè)成員方法都加上public。
7。針對(duì)修改內(nèi)部私有變量的問題: 如果xy都是公有成員變量,我們可以直接通過調(diào)用x=30來進(jìn)行賦值。但是如果我們不小心給他賦值為負(fù)數(shù)會(huì)怎么辦呢?那么很有可能會(huì)引發(fā)系統(tǒng)級(jí)別的錯(cuò)誤,所以我們必須給橫坐標(biāo)賦值前做一些判斷和限制。這些判斷和顯示就可以使用set函數(shù)來進(jìn)行處理。查看全部 -
10。ts里的三種修飾符
1、public:公有,在類里面、子類、類外面都可以訪問
2、protected:保護(hù)類型,在雷里面、子類里面可以訪問,在類外部不能訪問
3、private:私有,在類里面可以訪問,子類、類外邊不能訪問
11。通過使用訪問修飾符 如果成員變量都是公有屬性則可以使用public訪問修飾符,那么該類中的構(gòu)造函數(shù)使用訪問修飾符修飾函數(shù)的同時(shí),構(gòu)造函數(shù)也會(huì)生成對(duì)應(yīng)的成員變量,就可以刪除多余的代碼了(x:number)
12。同時(shí)constructor還會(huì)幫助我們給相應(yīng)的成員變量賦值那么this.x=x就沒用了。不過寫訪問修飾符后就不可以對(duì)該成員變量使用?可選缺省值了查看全部
舉報(bào)