JavaScript(和许多其他语言)支持后缀和前缀增量运算符( )。您可能以前曾经看过并使用过它。我看到不少博客对于 i 和 i 的解释都模糊不清,新手看了肯定一脸懵逼,甚至有些人的解释是完全错的,今天我来给大家详细地解释一下。
通常这样使用:
代码语言:javascript复制i ;
在这种情况下,它几乎等同于:
代码语言:javascript复制i = i 1;
但是,您怎么看?两者之间有区别吗
代码语言:javascript复制let i = 3;
const j = i ;
和
代码语言:javascript复制let i = 3;
const j = i;
嗯,是。第一个示例使用后缀增量运算符(i )。第二个示例使用前缀增量运算符( i)。起初,似乎没有什么区别。但是,重要的是要了解这里发生的事情:
后缀增量运算符使该值递增,并在递增之前返回该值。
前缀增量运算符使值递增,并在递增之后返回值。
让我们再来看两个例子:
代码语言:javascript复制// 后缀增量(postfix increment)
let i = 3;
const j = i ;
console.log({ i, j }); // { i: 4, j: 3 }
代码语言:javascript复制// 前缀增量(prefix increment)
let i = 3;
const j = i;
console.log({ i, j }); // { i: 4, j: 4 }
发现不同了吗?是j的值不同。因此,重要的是要知道postfix(后缀)和prefix(前缀)之间的微小差异。
顺便说一下,这同样也适用于后缀减量和前缀减量运算符(--
)。唯一的区别是,--
没有增加值,而是减少了值。
这就是所有我要说的。我希望我能把区别说清楚了。再见!
最后,不要忘了❤或