JavaScript箭头函数中参数列表后的=>为何必不可少?
关于JavaScript箭头函数中
=>的必要性说明 你写的代码属于ES6标准引入的箭头函数表达式语法,=>是该语法不可缺少的组成部分,具体原因如下:
语法分界作用
=>是JavaScript引擎识别箭头函数的核心标记,用于明确分隔函数的两个核心组成部分:
- 符号左侧的
(a, b, c)为函数的入参声明区域 - 符号右侧的
{ ... }为函数的逻辑执行区域
如果缺少=>,代码const isString = (a, b, c) { ... }会被JS引擎判定为语法错误:引擎无法理解参数括号后直接跟代码块的含义,自然无法正常执行。 不同函数定义语法的差异
如果不想使用=>,可以用传统函数语法实现完全相同的功能,两种写法都不需要=>符号:
- 函数声明写法:
function isString(x1, x2, x3) { if (typeof x1 === "string" && typeof x2 === "string" && typeof x3 === "string") { return "strings"; } return "not strings"; }
- 普通函数表达式写法:
const isString = function(x1, x2, x3) { if (typeof x1 === "string" && typeof x2 === "string" && typeof x3 === "string") { return "strings"; } return "not strings"; }
额外说明:你当前的代码仅参数名和题目要求的x1/x2/x3不一致,逻辑完全符合测试题要求,修改参数名即可完全匹配要求。
内容的提问来源于stack exchange,提问作者Hello World
相关产品推荐
相关产品推荐

