问题描述
我知道我们可以使用点表示法和括号表示法访问数据,但是如果我使用括号表示法访问伪造者数据,则无法访问该数据。有什么方法可以使用括号表示法访问数据?
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());