win*_*ker 1 javascript typescript
在打字稿中,我有以下内容:
self.newId = 0;
self.GetNewId = () => {
return --self.newId;
};
Run Code Online (Sandbox Code Playgroud)
我的猜测是return --self.newId;做两件事:
self.newIdself.newId1.(到-1)我假设下次GetNewId调用时,它将返回-1然后将值减少到-2,等等.
谁能证实
Jör*_*tag 10
不.你所描述的是后递减运算符,它是这样写的:
foo--
Run Code Online (Sandbox Code Playgroud)
它确实会首先评估表达式然后递减值.
这是预递减运算符,其编写如下:
--foo
Run Code Online (Sandbox Code Playgroud)
它将首先递减,然后进行评估.
那么,这个代码片段的作用是什么
self.newIdby 的值1.(至-1)self.newId作为助记符,您可以考虑从左到右阅读表达式:运算符是先到还是最后?
小智 7
你的答案/对代码的思考很接近,但不是很正确.有关其他详细信息,请参阅此有关算术运算的mozilla文档.
这条线
return --self.newID
Run Code Online (Sandbox Code Playgroud)
正在使用前缀减量运算符.
所以它在返回值之前减去,而不是在返回之后.
第一次调用GetNewId()将返回-1而不是0.它将从那里开始递减.
| 归档时间: |
|
| 查看次数: |
889 次 |
| 最近记录: |