如何让数组元素与整数执行加法而非字符串拼接?
解决字符串拼接导致加法失效的问题
你的代码里出现数字被拼接而非相加的问题,核心原因是JavaScript中字符串拼接与加法的+运算符优先级相同,执行顺序从左到右:原代码先将字符串与testArray[0]拼接成新字符串,再和1拼接,最终得到testArray[0]+1 = 11,而非预期的加法结果。
可以通过以下几种方法解决:
用括号提升加法优先级:把加法运算用括号包裹,让加法先执行,再与字符串拼接:
function blah(){ let testArray = [1,2,3,4,5]; console.log('testArray[0]+1 = ' + (testArray[0]+1)); }使用ES6模板字符串:模板字符串支持直接嵌入表达式,写法更直观清晰:
function blah(){ let testArray = [1,2,3,4,5]; console.log(`testArray[0]+1 = ${testArray[0]+1}`); }提前计算加法结果:先将加法结果存入变量,再与字符串拼接,提升代码可读性:
function blah(){ let testArray = [1,2,3,4,5]; let sum = testArray[0] + 1; console.log('testArray[0]+1 = ' + sum); }
内容的提问来源于stack exchange,提问作者Zane Goforth
相关产品推荐
相关产品推荐

