lambdas的Javascript隐式参数名称

时间:2017-06-15 08:44:00

标签: javascript swift ecmascript-next

Javascript / ES8是否有速记参数名称,比如Swift?

例如。 arr.sort { $0.name > $1.name }

2 个答案:

答案 0 :(得分:1)

Javascript中没有简写参数。最接近的替代方案是arguments和ES6休息参数。

function fn(param1, param2) {
  const $ = arguments;

  // by name
  console.log(param1, param2);

  // by order
  console.log($[0], $[1]);
}

Rest参数它比arguments更一致,箭头函数不支持后者:

const fn = (...$) => {
  // by name
  let [param1, param2] = $;
  console.log(param1, param2);

  // by order
  console.log($[0], $[1]);
}

请注意,$参数名称用于绘制Swift的类比。建议不要在实践中使用$名称,因为它可能与传统的jQuery $变量混淆。包含所有参数的rest参数的常规有意义名称是args

答案 1 :(得分:0)

不,javascript不支持shorthand argument name

相关问题