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

问题描述

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

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"] 

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

为了使用括号符号访问findName,您需要将其更改为:

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

您不应使用括号符号返回函数。

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

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

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