Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.12 KB

++value 和 value++ 的区别.md

File metadata and controls

49 lines (34 loc) · 1.12 KB

++value 和 value++ 的区别

++ 是在操作数上加 1 的自增操作符。操作符有两个变量使用 ++ 作为前缀或后缀:++valuevalue++

它们在 for 循环中也有同样的作用。下面的循环输出从 04 的相同结果:

for (let i = 0; i < 5; i++) {
  console.log(i)
}

for (let i = 0; i < 5; ++i) {
  console.log(i)
}

区别

当返回一个值时,return value++ 在值增加之前返回原始值。而 return ++value 则增加值并返回更新后的值。

下面的 foobar 函数返回不同的结果:

const foo = (x) => x++
const bar = (x) => ++x

foo(1) // 1
bar(1) // 2

扩展

value += 1 是后缀递增值 ++ 的另一种选择。值得注意的是,当使用 string 时,它们可以提供不同的结果。

后缀递增值 ++ 将先将值转换为数字,然后再递增值:

let value = '5'
value++
value // 6

另一方面,如果 value 是字符串,value += 1 首先将第二个参数(1)转换为字符串,然后将它们连接在一起。

let value = '5'
value += 1
value // '51'