Skip to content

Number(1)和new Number(1)有什么区别 #8

@Chersquwn

Description

@Chersquwn

区别

typeof 1 === 'number'    // true
typeof Number(1) === 'number'    // true
typeof new Number(1) === 'object'    // true

1 instanceof Number === false    // true
Number(1) instanceof Number === false    // true
new Number(1) instanceof Number === true    // true

1 instanceof Object === false    // true
Number(1) instanceof Object === false    // true
new Number(1) instanceof Object === true    // true

Object.prototype.toString.call(1) === '[object Number]'    // true
Object.prototype.toString.call(Number(1)) === '[object Number]'    // true
Object.prototype.toString.call(new Number(1)) === '[object Number]'    // true

为什么赋值了基本类型的变量能够调用方法?

读取变量时会创建基本包装类型,通过基本包装类型来调用对应的方法。

基本包装类型和引用类型的区别

生命周期的不同,基本包装类型在创建完调用方法后就会立即销毁。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions