本周typescript实战小技巧(1)

6 篇文章 0 订阅
4 篇文章 0 订阅

最近用ts写了一个小插件, 收获了些小知识点, 和大家分享下. 未来还会持续更新.

获取类上的属性的类型

class A{
    n: number
}

const num: A['n'] // number

捕获字符串类型

注意, typeof捕获字符串的类型, 是字面量类型, 不是string

// 捕获字符串的类型与值
const foo = 'Hello World';

// 使用一个捕获的类型
let bar: typeof foo;

// bar 仅能被赋值 'Hello World'
bar = 'Hello World'; // ok
bar = 'anything else'; // Error'

捕获键的名称的字面量类型

先用typeof获取对象类型, 然后用keyof后去键值

const colors = {
  red: 'red',
  blue: 'blue'
};

type Colors = keyof typeof colors;

let color: Colors; // color 的类型是 'red' | 'blue'

指定构造函数中this的类型

interface A{
    x:number
}
let a:(this:A)=>number
a =function(){
    this.x =123
    this.y = 467// 错误, 不存在y
    return 123 
}

typeof

返回数据类型

const f = (n:number)=>n+1;
type A = typeof f // => (n:number)=>number;

我的项目: 命令式调用vue组件.

https://github.com/any86/vue-create-root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值