ts是乙個可選的靜態的型別系統如何進行型別約束
let aaa:string = 'hello';
function
sum(a:number, b:number
):number
let nums:number = [1, 2, 3];
let num:number = sum(3, 4); // 第一種
let numss: array
= [1, 2, 3]; // 第二種
複製**
==因為ts有嚴格的型別檢查,在對函式重新命名的時候,可以使用f2來全域性替換。==
快捷鍵f12:轉到定義
ts在很多場景中推導出資料型別
any: 表示任意型別,對該型別,ts不進行型別檢查
小技巧:如何區分數字字串和數字,關鍵看怎麼讀?
如果按照數字的方式讀,就是數字。源**和編譯結果的差異
編譯結果中沒有型別約束資訊
null和undefined是所有其他型別的子型別,他們可以賦值給其他型別
通過在tsconfig.json中的compileroptions新增strictnullchecks: true
, 可以獲得更加嚴格的空型別檢查,之後null和undfined只能賦值給自身。
型別保護: 當對某個變數進行型別判斷之後,在判斷語句塊中便可以確定它的確切型別,typeof可以觸發型別保護。
let name: string | undefined;
if(typeof name === "string")
複製**
function
printmenu():void
複製**
function
throwerror(msg: string):never
function
alwaysdosomething():never
}複製**
let gender: "男"| "女"; //表示gender永遠只能為男或者女
let a:"a"; // a永遠只能為a
let b:1;
let user: ;// user必須要有name,age
複製**
let tu:[string, number];
tu = ["d", 2];
複製**
let data:any = 123;
let bb: number = data
複製**
// 防止重複的書寫**
type gender = "男" | "女"
type user =
let u:user
u =
function getusers(g:gender):user
複製**
函式過載:
/**
* 得到a*b的結果
* @param a
* @param b
*/function
combine(a:number, b:number
):number
;/**
* 得到a和b拼接的結果
* @param a
* @param b
*/function
combine(a:string, b:string
):string
;function
combine(a: number | string, b: number | string
): number | string
else
if(typeof a === "number" && typeof b === "number")
throw
newerror("a和b必須是相同的型別");
}const result = combine(1,2); // 自動監測出返回值為number
複製**
可選引數:可以在某些引數後面加上問號,表示這些引數可以不用傳遞
function
sum(a: number, b:number, c?:number
):number
return a + b;
}複製**
在開發的過程中有智慧型提示,減少**的錯誤,提公升**開發效率
type deck = normalcard
type color = "♥" | "♠" | "♦" | "♣"
type normalcard =
function createddeck(): deck );
deck.push();
deck.push();
deck.push()
}return deck;
}function
printdeck(deck: deck): void
else
if (card.mark == 11)
else
if (card.mark == 12)
else
if (card.mark == 12)
result += str + "\t";
if(((index + 1) % 4) == 0)
})console.log(result);
}const deck = createddeck();
printdeck(deck);
複製**
typescript的基本型別
1.布林boolean 2.數字number 3.字串string 4.陣列number 或者array 5.元組tuple 6.列舉enum 7.給變數指定任何型別any 8.返回值任何型別void 9.無返回型別never 10.非原始型別object 表示除了上述的型別之外的 11斷言 第一種...
資料基本型別及對應基本型別類
基本資料型別 char 16位 byte 8位 short 16位 int 32位 long,float,double,boolean 基本資料型別對應類 character,byte,short,integer,long,float,double,boolean,string 幾乎所有型別類都有相...
oracle 基本型別
資料型別 引數描述 char n n 1 to 2000位元組 定長字串,n位元組長,如果不指定長度,預設為1個位元組長 乙個漢字為2位元組 varchar2 n n 1 to 4000位元組 可變長的字串,具體定義時指明最大長度n,這種資料型別可以放數字 字母以及ascii碼字符集 或者ebcdi...