JS:为什么我需要括号来调用数字方法?

JS: why do i need brackets to call a method on number?

function func2method(f){
    return function(y) {
        return f(this, y);
    };
}

Number.prototype.add = func2method(function(x, y){return x+y});

为什么我必须使用括号才能在数字上调用此方法?

例如,3.add(4) 不会工作,而 (3).add(4) 工作得很好。

因为3.0(3)['0']

不一样

文字的解释不同。点 . 表示数字文字上的小数点,但对象上的点 . 表示 属性 访问器(转换为上面的方括号表示法)