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