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