JavaScript新建實例不須要帶 new 的小技巧

讓咱們能夠不加 new 地新建實例.測試

首先, 須要使用function而不是class.this

function Fish() {
    console.log(this instanceof Fish)
}

測試一下code

Fish()
>> false
<- undefined

new Fish()
>> true
<- Fish {}

因此, 能夠這樣io

function Dog() {
    if (!(this instanceof Dog)) {
        return new Dog()
    }
    return this
}

試試console

Dog()
<- Dog {}

new Dog()
<- Dog {}

耶✌️function

相關文章
相關標籤/搜索