【发布时间】:2021-08-27 08:27:13
【问题描述】:
我想问一个关于对象的 javascript 属性的问题。 在下面的代码中,我有一个 javascript 对象。我想在函数“testFunction”中使用属性“testName”。我发现“this.testName”在 javascript 对象中不起作用,但如果我执行“TestObject.testName”之类的操作,它可以正常工作。所以一般来说,在对象的函数中获取像“TestObject.testName”这样的属性值是错误的吗?
const TestObject= {
testName:"testValue",
testFunction: ()=>{
var result = TestObject.testName+ "result";
return result ;
}
} ```
【问题讨论】:
-
“我发现“this.testName”在 javascript 中不起作用” - 它起作用但在您的代码中它不是因为箭头函数。任何应该作为 method 调用的函数都应该使用常规函数声明:
testFunction: function() { ... }或使用速记方法语法;testFunction() { ... } -
查看关于为什么
this不起作用的骗局,回答所问的问题,是的,这是错误的(大多数情况下)。概括地说,最好使用类而不是“具有功能的对象”。
标签: javascript object properties