ts的型別都是小寫的,有別於js
與js相同的型別
1. 布林值 boolean
2. 數字 number
3. 字串 string
4. 陣列 number、array《元素型別》
5. undifined 其他型別可以賦值為 undifined 但是undfined型別的變數無法賦值為其他型別的值。然而,當你指定了--strictnullchecks標記,null和undefined只能賦值給void和它們各自。
6. null 同上
額外的基礎型別
1. 元組 tuple:乙個已知元素數量和型別的陣列;`let x: [string, number]`
2. 列舉 enum
列舉型別可以賦值多種型別,預設是number型別。手動賦值number型別可以不用全部賦值,未賦值的按前面的遞增。手動賦值非number型別其他的成員必須都需要手動賦值。**但賦值為number型別可以反推成員名**。列舉成員不能具有數值名。
``` ts
enum color
let c: color = color.green;
```編譯為js後
``` js
var color;
(function (color) )(color || (color = {}));
var c = color.green;
```3. 任意值 編譯時躲避檢查,可以賦值任何屬性,呼叫任何方法
4. 空值 宣告乙個void型別的變數沒有什麼大用,因為你只能為它賦予undefined和null
5. never 表示的是那些永不存在的值的型別 。我理解的有兩種**定義函式返回值**的場景,1函式死迴圈 、2函式報錯中斷執行
型別斷言
斷言後,編譯器會按照斷言的型別進行檢查
情況1:尖括號表示法
let somevalue: any = "this is a string";
let strlength: number = (somevalue).length;
情況2
let somevalue: any = "this is a string";
let strlength: number = (somevalue as string).length;
乙個方法使用了該方法宣告後才宣告的變數,在變數宣告後執行該方法能夠獲取到變數正確的值。
function greeting()
let name = 'huang'
greeting() // 輸出: 'huang'
令人困惑的解構和重新命名
const person = ;
const : = person;
在解構中無法給成員指出型別,只能在解構外定義。
介面用來定義一種資料解構的別名
Spring官方文件閱讀筆記
beanpostprocessor.postprocessafterinstantiation 鉤子 型別轉化convertifnecessary spring建立bean的詳細過程 sqlsessiontemplate.selectlist sqlsessiontemplate.invoke de...
typescript 文件閱讀筆記 Classes
extends super class animal move distanceinmeters number 0 m.class dogextends animal bark const dog newdog fjdsl dog.bark 預設情況下,所有屬性為public。class anima...
react hook 官方文件閱讀筆記
usestate 是在函式呼叫時儲存變數的方式 usestate是一種新方法,它與 class 裡面的this.state提供的功能完全相同。一般來說,在函式退出後變數就會 消失 而 state 中的變數會被 react 保留。const count,setcount usestate 0 括號裡邊...