hello,大家好呀这里是X,中秋节刚过去,现在又回到认真工作的状态中,最近也结束了答辩,比较放松休闲一些,一周至少一篇的typescript这就来了,这次是对“this”问题产生自己的想法和观点,喜欢的朋友可以点赞收藏,那么你对这个this了解到底有多深呢?
以下的很多一些观点和知识来自我学习的笔记和网络,共同学习进步🥂
学习如何在JavaScript里正确使用this就好比一场成年礼。 由于TypeScript是JavaScript的超集,TypeScript程序员也需要弄清this工作机制并且当有bug的时候能够找出错误所在。 幸运的是,TypeScript能通知你错误地使用了this的地方。 🎈
this和箭头函数
JavaScript里,this的值在函数被调用的时候才会指定。 这是个既强大又灵活的特点,但是你需要花点时间弄清楚函数调用的上下文是什么。 但众所周知,这不是一件很简单的事,尤其是在返回一个函数或将函数当做参数传递的时候
来个例子:
let deck = {
suits: ["hearts", "spades", "clubs", "diamonds"],
cards: Array(52),
createCardPicker: function() {
return function() {
let pickedCard = Math.floor(Math.random() * 52);
let pickedSuit = Math.floor(pickedCard / 13);
return {
suit: this.suits[pickedSuit], card: pickedCard % 13};
}
}
}
let cardPicker = deck.createCardPicker();