虽说搬砖的时候一般不会碰到这个问题,但是今天不小心写错了一个函数偶然间发现。想问问各位谁比较懂的,解释一下函数直接使用模版符号`的这种写法的返回值下面是测试的代码:打印的结果:看返回结果,我就感觉很奇怪,一个是第一个参数返回的是数组,第二个参数有时还能返回值。
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
之前没有看到过有相关的内容,但是根据lz的尝试可以得出以下几个结论
模板字符串中使用了插值语法,并且被作为参数传入函数时,其会返回多个值:第一个值是一个数组,是为被插值语法分割的字符串所形成的数组;其后分别为插值语法中的插值,非引用类型值,顺序为从左到右。
不使用插值语法时,只会返回一个值,为一个数组,只有一个数组元素,为全部的字符串。
一个对象被插值语法使用时,会调用其
toString
方法转换为字符串后再执行,例如console.log${log
${[1]}}
;的结果,在return${val1}
时,val1
原为["",""]
变为,
。
经过一定思考过后,会发现,其实1和2是同一条逻辑。
添加回答
举报
0/150
提交
取消