This question already has answers here:
Why can't I access a property of an integer with a single dot?
                                
                                    (4个答案)
                                
                        
                                去年关闭。
            
                    
我猜javascript将(2).valueOf()解析为new Number(2).valueOf(),但是为什么不解析第一个呢?

根据操作员优先级,分组操作员的优先级应高于成员访问https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

那么,为什么不首先评估(2)并产生2而不是将其解析为new Number(2)呢?

最佳答案

因为在2.valueOf中,.被认为是2的一部分,而不是被理解为method accessing

这就是2..valueOf()起作用的原因。



console.log(2..valueOf());

关于javascript - 为什么2.valueOf()无效但(2).valueOf()是无效的? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51759052/

10-12 12:49