js函数参数下划线占位符报错?

作者站长头像
站长
· 阅读数 21

js函数参数占位符报错问题

经网上搜索,如果函数传入多个值,但是又没有使用第一的值,可以用_符号进行展位,但是自己写代码时会发现浏览器报错。代码如下

        function nameVal(val1, val2) {
            console.log(val1, val2)
        }
        nameVal(_, "second")

报错信息js函数参数下划线占位符报错?该怎么占位呢?

回复
1个回答
avatar
test
2024-07-03

占位符的场景,无非就是 函数中 某个参数是非必填的

要注意_没有这个语法,会默认把它当成一个变量的参数;

可以尝试以下几种方案:

1: 必填项放置开头,非必填放置最后

function nameVal(val1, val2) {
  console.log(val1, val2) // val2 undefined
}
nameVal("first")

2: 设置默认值

function nameVal(val1, val2) {
  console.log(val1, val2) // val2 undefined
}
nameVal("", "first")

3:解构

function nameVal(...arg) {
// 这里的解构是你参数的顺序来的
// first: secornd  secornd:undefined
  const [first, secornd] = arg;
  console.log(first, secornd) 
}

nameVal("secornd")
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容