您如何在javascript中重载[]运算符

我似乎找不到在JavaScript中重载[]运算符的方法。外面有人知道吗?


我在想...


MyClass.operator.lookup(index)

{

     return myArray[index];

}

还是我没有看正确的东西。


饮歌长啸
浏览 845回答 3
3回答

慕神8447489

您不能在JavaScript中重载运算符。它是针对ECMAScript 4提出的,但被拒绝。我认为您不会很快看到它。

泛舟湖上清波郎朗

简单的答案是JavaScript允许通过方括号访问Object的子级。因此,您可以定义您的课程:MyClass = function(){    // Set some defaults that belong to the class via dot syntax or array syntax.    this.some_property = 'my value is a string';    this['another_property'] = 'i am also a string';    this[0] = 1;};然后,您将可以使用任一语法访问类的任何实例上的成员。foo = new MyClass();foo.some_property;  // Returns 'my value is a string'foo['some_property'];  // Returns 'my value is a string'foo.another_property;  // Returns  'i am also a string'foo['another_property'];  // Also returns 'i am also a string'foo.0;  // Syntax Errorfoo[0];  // Returns 1foo['0'];  // Returns 1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript