TypeScriptまとめその1【配列、ジョイント、交差型】

最近 ts の学習を終えたばかりなので、簡単に要約すると、ts は型に重点が置かれ、より厳密です。

非プリミティブ型

1.オブジェクト(基本データ型を除く)、小文字

let obj:object = {a:1}
let obj:object = [1]

2. オブジェクト (基本データ型を含む)、大文字の O

let obj:Object = 1
let obj:Object = '123'

3. {} はオブジェクトと同等です

let obj:{}='123'

配列の種類: 配列には次の 3 種類があります。

//第一种
let arr:number[] = [1,2,3]
//第二种:泛型
let arr:Array<number> = [1, 2, 3]//整体是数组,并且里面的元素必须为number类型
//第三种:元组
let arr:[number, number, string] = [1, 2, '3']

ジョイント タイプ: | は「または」を意味します

//第一个例子
第一种写法
let numArr:number|string = 10//number的类型既可以为number类型,也可以为string类型
numArr = 1
numArr = '小花'
第二种写法
let numArr:1 | '2' = 1//表示numArr必须只能等于1和'2'
numArr = '2'
//第二个例子
let obj:{a:1,b:'2'}
obj = {a:1}
obj = {b:'2'}
obj = {a:1,b:'2'}//也就是说obj既可以等于a属性,也可以等于b属性,也可以有ab两个属性

交差タイプ: & は「および」を意味します

//必须全部满足的意思
let obj:{name:string, age:number}&{height:number}
obj = {'张三', 22, 180}

任意または不明

any: 型検出をバイパスします。簡単に言うと、any を使用することは JS 言語と何ら変わりません。

不明: すべての型を不明に割り当てることができ、不明が検証を実行します (バックグラウンドからデータを取得し、それがどのような型であるかわからない場合は、不明を使用します)

 不明な型では固定メソッドを使用できません

インターフェースタイプ --interface

//interface用于自定义类型
//1.给对象用
interface MyItf{
    name:string
    age:number
    height:number
}
let obj:MyItf;
obj = {
    name:'小花',
    age:20,
    height:12
}
// 定义接口类型 --- 给数组用
interface MyArr{
    [idx:number]:number|string
}
let obj1:MyArr;
obj1 = [1, 2, '小花']

// 定义函数类型  --- 给函数用
interface MyFun{
    (p:number,n:string):void
}
let fun:MyFun = (p:number,n:string) => {}
fun(1,"")

おすすめ

転載: blog.csdn.net/qq_59294119/article/details/130927712