讓咱們能夠不加 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