gpt4 book ai didi

javascript - 如何通过添加类似于++ 的函数来扩展 TypeScript 中的 Number

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:52:44 25 4
gpt4 key购买 nike

我想用一个 plusPlus2 函数来扩展 Number ,它将数字递增 2。

问题是我不知道如何将结果分配回扩展函数中的数字。像这样的东西:

Number.prototype.plusPlus2 = function() {
this = this + 2;
}

用法是:

x = 1;
x.plusPlus2(); // expect x to be 3

最佳答案

基本类型(数字、字符串、 bool 值)在 javascript 中是不可变的。

因此,无论何时您更改基元,都需要将其分配给另一个变量(甚至重新分配给它自己)。

话虽这么说,你不能按照你的建议去做,你需要返回一个新值,包含你想要的值,比方说:

Number.prototype.plusplus2 = function() { 
return this + 2;
}

然后重新分配它:

let x = 5;
x = x.plusplus2();

然后,您可能想知道:x++ 是如何工作的?

答案是,x++x = x + 1 的语法糖,这意味着,实际上,您并没有改变 x,而是将 1 添加到 x 并将其重新分配给自身。

关于javascript - 如何通过添加类似于++ 的函数来扩展 TypeScript 中的 Number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58440181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com