JavaScript中将var作为函数参数触发SyntaxError语法错误问题
错误原因
var是JavaScript官方规定的保留关键字,禁止作为自定义的变量名、函数参数名、箭头函数入参等标识符使用,你代码中有两处将var用作参数名,不符合ECMAScript语法规范,因此直接触发语法报错,该问题和Node 12.22.6版本无关,所有符合规范的JS运行环境都会抛出该错误。
报错信息中文翻译:语法错误:意外的令牌 'var'
修正后可正常运行的代码
将所有作为参数名的var替换为任意非保留字的标识符即可,示例用val作为替换:
const change_vars = (val) => { console.log(val + " is a " + typeof(val) + "\n"); } const variables = [ 42, "42", {number: 42}, {}, true, undefined ] variables.forEach(val => change_vars(val));
运行验证
- 执行指令:
node vars.js - 运行后会按顺序输出数组内每个元素的取值和对应数据类型,无语法报错。
小提示:除
var外,let、const、function、return、if、else等JS内置关键字都不可以作为自定义标识符使用,编码时注意避开即可。
内容的提问来源于stack exchange,提问作者kkkk
相关产品推荐
相关产品推荐

