I dislike this proposal. 1 It is not very good to limit overrideable operators to value classes. 2 It is not very good to have a lot of custom operators, it will break code readability and will allow more efficient obfuscration. 3 I think that most of binary non-assigning operators must return a new object and thats' why they should be not object methods, but the methods taking 2 (or more if chained!) objects and return the result usually of same type. вторник, 22 декабря 2015г., 21:45 +03:00 от Sander Deryckere < [email protected]> :
>IMO, operator overloading is important and different enough to warrant a >separate syntax. > >But the difficulty isn't in defining the operator, but in the ambiguous cases. >Like what to do when there are 2 different types, how to make sure certain >relations will stay correct, ... > >There's a nice presentation from Brendan Eich here: >http://www.slideshare.net/BrendanEich/value-objects2 > >Regards, >Sander > >2015-12-18 21:24 GMT+01:00 KOLANICH < [email protected] > : >>Hello. What do you think about overriding operators using proxies? >>For example >>function A(r=""){ >>this.rep=r; >>return new Proxy(this,{operators:{"+":function(a,b){return new >>A(a.rep+"+"+b.rep);}}}); >>} >>let a=new A("a"), b=new A("b"); >>let c=a+b; >>console.log(c.rep);//a+b >> >>_______________________________________________ >>es-discuss mailing list >>[email protected] >>https://mail.mozilla.org/listinfo/es-discuss >> >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

