TypeScript 类型系统深度解析
1. 定义 this 参数类型
在编写回调函数时,我们常常会对 this 产生假设,但当独立编写函数时,却不知道如何定义 this 。
在 JavaScript 中, this 对象指针的性质不断变化,这让很多开发者感到困惑。例如,在基于类的面向对象编程语言中, this 总是指向类的实例,但在 JavaScript 中情况完全不同。
以下是一些示例代码,展示了 this 在不同情况下的表现:
const author = {
name: "Stefan",
// 函数简写
hi() {
console.log(this.name);
},
};
author.hi(); // 输出 'Stefan'
const author2 = {
name: "Stefan",
};
function hi() {
console.log(this.name);
}
const pet = {
name: "Finni",
kind: "Cat",
};
hi.apply(pet); // 输出 "Finni"
hi.call(author2); // 输出 "Stefan"
const boundHi = hi.bind(author2);
boundHi(); // 输出 "Stefan"
class Person {
constru
TypeScript类型系统详解
超级会员免费看
订阅专栏 解锁全文
1882

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



