console.log(String.prototype.__proto__ === Object.prototype) // true
console.log(Date.prototype.__proto__ === Object.prototype) // true
let str2 = ‘aaaa‘
console.log(str2 instanceof String) // false
console.log(str2 instanceof Object) // false
let str1 = new String(‘aaa‘)
console.log(str1 instanceof String) // true
console.log(str1 instanceof Object) // true
console.log(str1.__proto__ === String.prototype) // true
class Dog {
constructor(name) {
this.name = name
this.type = ‘dog‘
}
}
let d1 = new Dog(‘大黄‘)
let d2 = { name: ‘肉肉‘ }
console.log(d1) // { name: ‘大黄‘, type: ‘dog‘ }
console.log(d2) // { name: ‘肉肉‘ }
console.log(d1 instanceof Dog) // true
console.log(d1 instanceof Object) // true
console.log(d2 instanceof Object) // true
let arr1 = [1, 2]
let arr2 = new Array(‘a‘, ‘b‘)
console.log(arr1 instanceof Array) // true
console.log(arr2 instanceof Array) // true
原文:https://blog.51cto.com/13701875/2447474