为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

饮歌长啸 2019-12-02 12:42:49
我似乎找不到在JavaScript中重载[]运算符的方法。外面有人知道吗?我在想...MyClass.operator.lookup(index){     return myArray[index];}还是我没有看正确的东西。
查看完整描述

3 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

您不能在JavaScript中重载运算符。


它是针对ECMAScript 4提出的,但被拒绝。


我认为您不会很快看到它。


查看完整回答
反对 回复 2019-12-02
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

简单的答案是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 Error

foo[0];  // Returns 1

foo['0'];  // Returns 1


查看完整回答
反对 回复 2019-12-02
  • 3 回答
  • 0 关注
  • 844 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号