摘要:注意變量聲明沒有指定類型。因此,程序使用類型推斷來確定變量的數據類型,第一次賦值為,設置為類型。
typescript 的基本類型
1.number 數字類型 example:
let val: Number = 2
2.string 字符串 example:
let val: String = "2"
3.Boolean 布爾類型 example:
let val: Boolean = false
4.array 數組 example:
let val: Array
leg val: number[] = [1,2,4,5] //數組里只能是全部數字
// 類數組有自己的定義方式
let args: IArguments = arguments;
5.Boolean 元祖 example:
let x = [String, Number]
x = ["val", 2]
// 按定義順序排序
6.enum 枚舉 example:
enum val {one = 3, two, three}
let curVal: val = val.one
console.log(curVal) // curVal: 3
let val : String | null | undefined = ""
val = 2
// 創建變量可以多個變量屬性
注意:假設第一行代碼聲明了變量 num 并=設置初始值為 2。 注意變量聲明沒有指定類型。因此,程序使用類型推斷來確定變量的數據類型,第一次賦值為 2,num 設置為 number 類型。
7.interface 接口 example:
interface Person {
name: string; age: number; [val: string]: any // 可以定義左邊可以設置是字符串還是數字
}
let tom: Person = {
name: "Tom", age: 25 };
interface Person {
readonly name: string; // 只能創建的時候被賦值 age?: number; // 這個字段可以沒有 }
let tom: Person = {
name: "Tom", }; // class類中接口的使用 interface ClockInterface { currentTime: Date; } class Clock implements ClockInterface { currentTime: Date; constructor(h: number, m: number) { } }
typescript 的函數使用方法
// 傳入的參數也可以設置類型
function func(one: Number = 2, two?:string): Number {
conosle.log(two) // 默認輸出undefined return one + two
}
func(1) // Nan
// 添加number就必須要有返回數字,不然會報錯。 如果不想返回就把number換成void
//es6的解構用法
function fun (...rest: Number[]):Number {
return rest
}
// 函數里的斷言<>val || <類型>值
function getLength(something: string | number): number {
if ((something).length) { // 不確定這邊的值是number還是string. 確定是string就可以獲取長度 return ( something).length; } else { return something.toString().length; }
}
// 返回一個數組
function argArray(...something: Number[]): Array
return something;
}
// 傳入一個 為定義的參數
function argArray
// value屬于為定義的屬性類型 return something; } example: argArray(1,2,4,"str") // value 會自動匹配成‘str’的類型
// ts的基本使用
function Throttling(callback:()=> void, time:number):()=> void {
let recording: number | undefined = undefined return function ():void { if(recording)clearTimeout(recording) recording = setTimeout(() => { callback() },time) }
}
用ts寫了一個終結者模式
interface parameter {
name: string; backCall?: () => {};
}
let observer = (function(){
let obj = {} return { add(parameter): void { let val: Array| undefined = obj[parameter.name] if( >val){ val.push(parameter.backCall) }else{ obj[parameter.name] = [] obj[parameter.name].push(parameter.backCall) } // >val ? obj[parameter.name].push(parameter.backCall) : obj[parameter.name] = [], obj[parameter.name].push(parameter.backCall) }, run(runComman:string): void{ let val: Array | undefined = obj[runComman] if( >val){ for(let key of val){ key() } } } }
})()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102440.html
angular2是什么?我猜不容我贅述,各位一定略有耳聞,無論是曾經AngularJS的擁躉,亦或是React的粉絲,都或多或少的對她有過一點了解。未見其物、先聞其聲,angular2在問世之前已經做足了宣傳,想必諸位也一定被下面各種詞匯所震懾,什么:TypeScript、 ES5、 ES6、 Dart、 Immutable、 Unidirectional Data Flow、 Reactive ...
摘要:前言以深入學習技術棧為線索,記錄下學習的重要知識內容。要傳入時,必須使用屬性表達式。如果要使用自定義屬性,要使用前綴這與標準是一致的。 前言 以《深入學習react技術棧》為線索,記錄下學習React的重要知識內容。本系列文章沒有涵蓋全部的react知識內容,只是記錄下了學習之路上的重要知識點,一方面是自己的總結,同時拿出來和在學習react的人們一塊分享,共同進步。 正文 一:rea...
摘要:前集回顧上一章里我們在里通過組合三個組件,并通過單向數據流的方式把她們驅動起來。設計每章都會提一下,先設計使用場景這種方式,我們稱之為,不了解的朋友參考以手寫依賴注入。 前集回顧 上一章里我們在AppComponent里通過組合InputItem、 CheckableItem、 Counter三個組件,并通過Unidirectional Data Flow(單向數據流)的方式把她們驅動...
摘要:用于規范的類型與必需的狀態。表示由組件更改的數據,通常是通過與用戶的交互來更改的。為了實現的修改,需要注冊事件處理程序到相應的元素上。當事件發生時,將更新后的值是從中檢索,并通知組件。通常情況下,該函數初始化狀態使用,,或其他數據存儲。 前言 上一篇文章中,我們講到了JSX的一些用法和注意事項,這次我們來講react中最基礎也是特別重要的內容:組件。這篇文章包含組件的以下內容:狀態、屬...
閱讀 3323·2021-11-25 09:43
閱讀 3008·2021-10-15 09:43
閱讀 1965·2021-09-08 09:36
閱讀 2918·2019-08-30 15:56
閱讀 742·2019-08-30 15:54
閱讀 2684·2019-08-30 15:54
閱讀 2973·2019-08-30 11:26
閱讀 1237·2019-08-29 17:27