TypeScript 类型系统深度解析
1. 定义 this 参数类型
在编写回调函数时,我们常常会对 this 有一些假设,但在独立编写函数时,却不知道如何定义 this 。其实,我们可以在函数签名的开头定义 this 参数类型。
在 JavaScript 中, this 对象指针的性质不断变化,这让很多开发者感到困惑。对于有基于类的面向对象编程语言背景的人来说,这种困惑可能更明显,因为在那些语言中, this 总是指向类的一个实例,而在 JavaScript 中, this 的含义截然不同。
下面是一些示例代码,展示了 this 在不同情况下的表现:
// 常规对象中的 this
const author = {
name: "Stefan",
hi() {
console.log(this.name);
},
};
author.hi(); // 输出 'Stefan'
// 函数绑定不同上下文时的 this
const author = {
name: "Stefan",
};
function hi() {
console.log(this.name);
}
const pet = {
name: "Finni",
kind: "Cat",
};
hi.apply(pet); // 输出 "Finni"
hi
TypeScript类型系统深度解析
超级会员免费看
订阅专栏 解锁全文
340

被折叠的 条评论
为什么被折叠?



