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