【问题标题】:Why is dot notation invalid for a function variable input parameter Javascript为什么点符号对函数变量输入参数 Javascript 无效
【发布时间】:2019-05-13 20:29:17
【问题描述】:

我发现这个语法对于定义一个函数是有效的

    let path = finalObjs.vendorPath
    const getAllIndexes = (dependenciesResultToHydrateFlat, path) => {

    } 

但是,这个语法是无效的

    const getAllIndexes = (dependenciesResultToHydrateFlat, finalObjs.vendorPath) => {

    } 

为什么在定义函数时不允许直接使用点符号来引用属性值?感觉这两个在功能上是一样的,我不明白为什么后者无效。感谢向导的解释。

【问题讨论】:

  • 这些是参数名称,而不是表达式。这实际上没有任何意义。
  • 你的第一个例子中的let path实际上并没有做任何事情。
  • 路径等于 finalObjs 对象上的 vendorPath 字段
  • 您是否知道在您的第一个示例中path 的两个实例是完全不同的 实体,只是碰巧具有相同的名称?或者这是你问题的一部分?
  • 呸呸呸。有道理

标签: javascript function syntax declaration


【解决方案1】:

(我知道这可能会忽略,但它可能会有所帮助)

您还可以为函数参数设置默认值。

代码:

const getAllIndexes = (dependenciesResultToHydrateFlat, path=finalObjs.vendorPath) => {

} 

有了这个,你可以通过给它一个值来改变路径。否则它将使用您为特定参数设置的“默认”值。

【讨论】:

  • 这太棒了!谢谢你
  • @Goldfish 谢谢!乐于助人!
【解决方案2】:

参数可以任意命名,给定的参数是在函数调用时为该参数假定的名称

【讨论】:

    猜你喜欢
    • 2014-03-09
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2013-12-23
    • 2014-09-27
    • 2022-09-15
    相关资源
    最近更新 更多