i++ 和 ++i 之间的区别详细解释(后缀与前缀)

举报
海拥 发表于 2021/08/04 23:54:13 2021/08/04
【摘要】 JavaScript(和许多其他语言)支持后缀和前缀增量运算符(++)。您可能以前曾经看过并使用过它。我看到不少博客对于 i++ 和 ++i 的解释都模糊不清,新手看了肯定一脸懵逼,甚至有些人的解释是完全错的,今天我来给大家详细地解释一下。 通常这样使用: i++; 1 在这种情况下,它几乎等同于: i = i + 1; 1 但是,您怎么看?两者之间有区别吗...

在这里插入图片描述
JavaScript(和许多其他语言)支持后缀和前缀增量运算符(++)。您可能以前曾经看过并使用过它。我看到不少博客对于 i++ 和 ++i 的解释都模糊不清,新手看了肯定一脸懵逼,甚至有些人的解释是完全错的,今天我来给大家详细地解释一下。

通常这样使用:

i++;

  
 
  • 1

在这种情况下,它几乎等同于:

i = i + 1;

  
 
  • 1

但是,您怎么看?两者之间有区别吗

let i = 3;
const j = i++;

  
 
  • 1
  • 2

let i = 3;
const j = ++i;

  
 
  • 1
  • 2

嗯,是。第一个示例使用后缀增量运算符(i++)。第二个示例使用前缀增量运算符(++i)。起初,似乎没有什么区别。但是,重要的是要了解这里发生的事情:

后缀增量运算符使该值递增,并在递增之前返回该值。

前缀增量运算符使值递增,并在递增之后返回值。

让我们再来看两个例子:

// 后缀增量(postfix increment)

let i = 3;
const j = i++;

console.log({ i, j }); // { i: 4, j: 3 }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
// 前缀增量(prefix increment)

let i = 3;
const j = ++i;

console.log({ i, j }); // { i: 4, j: 4 }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

发现不同了吗?是j的值不同。因此,重要的是要知道postfix(后缀)和prefix(前缀)之间的微小差异。

顺便说一下,这同样也适用于后缀减量和前缀减量运算符(--)。唯一的区别是,--没有增加值,而是减少了值。

这就是所有我要说的。我希望我能把区别说清楚了。再见!

最后,不要忘了❤或📑支持一下哦

文章来源: haiyong.blog.csdn.net,作者:海拥✘,版权归原作者所有,如需转载,请联系作者。

原文链接:haiyong.blog.csdn.net/article/details/114063319

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

确认 取消