为了账号安全,请及时绑定邮箱和手机立即绑定

es6关于函数和模版字符``的问题

es6关于函数和模版字符``的问题

慕的地8271018 2018-12-20 18:15:52
虽说搬砖的时候一般不会碰到这个问题,但是今天不小心写错了一个函数偶然间发现。想问问各位谁比较懂的,解释一下函数直接使用模版符号`的这种写法的返回值下面是测试的代码:打印的结果:看返回结果,我就感觉很奇怪,一个是第一个参数返回的是数组,第二个参数有时还能返回值。
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

之前没有看到过有相关的内容,但是根据lz的尝试可以得出以下几个结论

  1. 模板字符串中使用了插值语法,并且被作为参数传入函数时,其会返回多个值:第一个值是一个数组,是为被插值语法分割的字符串所形成的数组;其后分别为插值语法中的插值,非引用类型值,顺序为从左到右。

  2. 不使用插值语法时,只会返回一个值,为一个数组,只有一个数组元素,为全部的字符串。

  3. 一个对象被插值语法使用时,会调用其toString方法转换为字符串后再执行,例如console.log ${log ${[1]}};的结果,在return ${val1}时,val1原为["",""]变为,

经过一定思考过后,会发现,其实1和2是同一条逻辑。


查看完整回答
反对 回复 2019-01-25
  • 1 回答
  • 0 关注
  • 490 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信