如何在节点js中使用括号表示法调用函数

How to call function using bracket notation in node js

我知道我们可以使用圆点表示法和括号表示法访问数据,但是如果我使用括号表示法访问 faker 数据,我将无法访问该数据。有什么方法可以使用括号表示法访问数据吗?

var faker = require("faker");

console.log(faker.name.findName()); // Output: any name.
console.log(faker["name.findName"]()); // Output:  TypeError: faker.name.findName is not a function

问题在于

faker["name.findName"] 

将尝试访问 faker 对象上名为 "name.findName" 的 属性。

为了使用 bracket-notation 访问 findName,您需要将其更改为:

console.log(faker["name"]["findName"]()); 

您不应该对 return 函数使用括号表示法。

console.log(faker["name"].findName())

或者如果您真的只想使用括号,请尝试

let _findName = faker["name"]["findName"];
console.log(_findName());