了解 Javascript 编译器,也许还有 Meteor JS
Understanding Javascript compiler and maybe Meteor JS
在我的 Meteor App 的服务器文件夹中,我有 server.js 和 helper.js
里面helper.js我有例如:
import swisseph from 'swisseph'
SWISSEPH = {}
SWISSEPH.SWE_HOUSES_EX = Meteor.wrapAsync(swisseph.swe_houses_ex);
在我的 server.js 文件中,如果我直接在函数内部传递 SWISSEPH.SWE_HOUSES_EX
const calc_longitudes_of_upagrahas = ( SWISSEPH.SWE_HOUSES_EX, flag,latitude, longitude, array_of_juls , index, obj ) => {};
我收到这个错误:
While processing files with ecmascript (for target os.osx.x86_64):
server/server.js:488:43: Invalid left-hand side in arrow function parameters (488:43)
但是如果我首先在另一个变量或 const 中设置 SWISSEPH.SWE_HOUSES_EX
那么它就可以工作了:
const x = SWISSEPH.SWE_HOUSES_EX //don't know why if I use SWISSEPH.SWE_HOUSES_EX directly I get an error
const calc_longitudes_of_upagrahas = ( x, flag,latitude, longitude, array_of_juls , index, obj ) => {};
这是什么原因?
对我来说这是违反直觉的....
您的代码没有调用函数,而是定义了一个新函数:
const foo = (x, y, z) => {}
此语法创建一个名为 foo
的新函数,它接受三个参数。所以你的第二个代码示例有效,因为 x
被解释为参数;第一个失败,因为 SWISSEPH.SWE_HOUSES_EX
不是有效的参数名称。
在我的 Meteor App 的服务器文件夹中,我有 server.js 和 helper.js
里面helper.js我有例如:
import swisseph from 'swisseph'
SWISSEPH = {}
SWISSEPH.SWE_HOUSES_EX = Meteor.wrapAsync(swisseph.swe_houses_ex);
在我的 server.js 文件中,如果我直接在函数内部传递 SWISSEPH.SWE_HOUSES_EX
const calc_longitudes_of_upagrahas = ( SWISSEPH.SWE_HOUSES_EX, flag,latitude, longitude, array_of_juls , index, obj ) => {};
我收到这个错误:
While processing files with ecmascript (for target os.osx.x86_64):
server/server.js:488:43: Invalid left-hand side in arrow function parameters (488:43)
但是如果我首先在另一个变量或 const 中设置 SWISSEPH.SWE_HOUSES_EX
那么它就可以工作了:
const x = SWISSEPH.SWE_HOUSES_EX //don't know why if I use SWISSEPH.SWE_HOUSES_EX directly I get an error
const calc_longitudes_of_upagrahas = ( x, flag,latitude, longitude, array_of_juls , index, obj ) => {};
这是什么原因? 对我来说这是违反直觉的....
您的代码没有调用函数,而是定义了一个新函数:
const foo = (x, y, z) => {}
此语法创建一个名为 foo
的新函数,它接受三个参数。所以你的第二个代码示例有效,因为 x
被解释为参数;第一个失败,因为 SWISSEPH.SWE_HOUSES_EX
不是有效的参数名称。