安裝ts: npm install typescript -g
執行:1、需要先轉成js檔案:tsc demo01.ts生成乙個js檔案;然後再執行js檔案:node demo01.js
2、安裝npm install -g ts-node,可直接用 ts-node demo01.ts 進行編譯
// 定義資料型別變數
let booknum :
number=12
// inte***ce進行自定義靜態型別
inte***ce
specialtyfood
// 定義字串陣列;其中不能包含其他型別
let books :
string
=['簡愛'
,'悲慘世界'
]// 定義物件
let bookinfo :
=let hotpot : specialtyfood =
// 宣告乙個類
class
person
let food : person =
newperson()
// 宣告乙個函式,返回必須是字串
let person :()
=>
string=(
)=>
console
.log
(booknum, books, bookinfo.name, hotpot.describe,
person()
)
// 函式引數和返回型別的註解
function
count1
(a :
number
, b :
number):
number
function
count2
(a :
number
, b :
string):
string
// 當傳入引數是物件時,確定物件中引數的型別需要不能像count2那樣宣告了
function
count3(:
):number
// 沒有返回值對函式的註解為void,意為無;如果寫了返回值會報錯
function
count4
(a :
number
, b :
number):
void
let total1 =
count1(1
,34)let total2 =
count2(1
,'34'
)let total3 =
count3()
console
.log
(total1, total2,total3)
count4(1
,35)/*
如果函式永遠執行不完:例:有死迴圈的函式、丟擲異常的函式;箭頭函式表示式的返回值型別需要用never
never型別表示的是那些永不存在的值的型別
never可以賦值給任意型別,但任意型別不能賦值給never型別
*/// 返回never的函式必須存在無法達到的終點
function
error
(message:
string
): never
// 推斷的返回值型別為never
function
fail()
// 返回never的函式必須存在無法達到的終點
function
infiniteloop()
: never
}
let bookarr:
string=[
'朝花夕拾'
,'彷徨'
]let arr :
(string
|number)[
]=['a',12
]
如果陣列中含有物件這種比較複雜的型別可以使用型別別名
type books =
// 使用inte***ce也是可以的
inte***ce
books
// class宣告也行
// class books
let threebody : books=
[,,,
]console
.log
(threebody[0]
.name)
注:這裡的型別別名和介面inte***ce看似一樣;其實有部分區別;
type books = string 可以只傳遞乙個字串;而inte***ce卻必須是上面的形式,比較嚴謹
-----ing-----
vue3 0 學習筆記
今天是2021年2月26日 學習一下vue3.0雖然已經出來這麼長時間了,但是還沒有認真的學習過,只是懂一點皮毛 接下來開始我的3.0之旅 來吧!展示!藍色海 嘿嘿嘿 第一步 安裝 先瞅瞅你的vue v 是多少 npm install g vue cli第二步 初始化 專案 這裡我們選擇 manua...
Vue3 0學習記錄
composition api 組合api 效能提公升 viteoptions api composition api 響應式系統公升級 vue.js 3.0中使用proxy物件重寫響應式系統 proxy物件效能本身就比 defineproperty好 物件可以攔截物件的賦值 刪除等,不需要初始化遍...
vue3 0前端學習
1 響應系統公升級 vue.js 3.0 中使用proxy物件重寫響應式系統 可以監聽動態新增的屬性 可以監聽刪除的屬性 可以監聽陣列的索引和length屬性 2 編譯優化 vue.js 2.x 中,模板首先被編譯為render函式,構建過程中完成,會編譯靜態根節點和靜態子節點,當元件狀態發生變化時...