Extending Number.prototype in javascript and the Math object?

后端 未结 8 1768
孤城傲影
孤城傲影 2021-02-05 03:11

I\'ve always wondered why Javascript has the global Math object instead of giving numbers their own methods. Is there a good reason for it?

Also are there any drawbacks

8条回答
  •  被撕碎了的回忆
    2021-02-05 03:39

    So, the conversation on whether its a good idea or not aside, you can do this fine.

    You can do 123.x() but the interpreter for js is broken (as it doesn't interpret the dot as a message dispatch)

    Weirdly, you can use 123 .x() (with a space between the number and the dot) instead, and it'll work.

    123..also works but that's because you've effectively made a decimal and then dispatching to it

    (typeof 123.) === 'number') // true

    Try:

    Number.prototype.times = function(other) { return this * other }; 3 .times(5);

    in the console.

提交回复
热议问题