wdnmd

ts笔记

1.array tuple,元组为给定数据类型的数组

1
2
let arrOfNumbers: number[] = [1,2,3]
let user: [string, number] = ['s', 2]

2.尽量避免用any,因为就失去了ts的意义了

3.Partial,变为可选。 Omit,去掉某个属性。

1
2
3
4
5
6
7
8
9
10
11
interface Person {
    name: string
    age: number
}
 
let viking : Person = { name: 'd', age: 2}
type IPartials = Partial<Person>
let viking2: IPartials = {}
 
type IOmit = Omit<Person, 'name'>
let viking3: IOmit = {age:1}

4.enum

1
2
3
4
5
6
7
8
const enum Direction {
    Up = 10,
    Down,
    Left,
    Right
}
 
console.log(Direction.Up)

5.interface

1
2
3
4
5
6
7
8
9
10
11
interface Person {
    readonly id: number;
    name: string;
    age?: number;
}
 
let viking: Person = {
    id: 1,
    name: 'dd',
    age: 1,
}

6.范型,对于未知数据来源的一个占位

1
2
3
4
5
6
7
interface KeyPair<T,U>{
    key: T,
    value: U
}
 
let kp1: KeyPair<number, string> = {key:1 , value: 'string'}
let kp2: KeyPair<string, number> = {key:'1' , value: 1}

7.type和interface的区别

联合类型只能用type 

1
type str = string | number

interface可以合并同名接口, type不行

1
2
3
interface A{name:string}
interface A{age:number}
var x:A={name:'xx',age:20}

interface继承用extends,type用&

posted @   FreshChick  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示