赞
踩
const target = {}
function isArray(target) {
return Object.prototype.toString.call(target) === "[object Array]"
}
console.log(isArray(target)) // false
const target = {
[Symbol.toStringTag]: "Array",
}
function isArray(target) {
return Object.prototype.toString.call(target) === "[object Array]"
}
console.log(isArray(target)) // true
const target = {}
function isArray(target) {
return target instanceof Array
}
console.log(isArray(target)) // false
const target = {}
Object.setPrototypeOf(target, Array.prototype)
function isArray(target) {
return target instanceof Array
}
console.log(isArray(target)) // true
使用ES6
const target = {
[Symbol.toStringTag]: "Array",
}
Object.setPrototypeOf(target, Array.prototype)
function isArray(target) {
return Array.isArray(target)
}
console.log(isArray(target)) // false
const target = {}
console.log(target.toString()) // [object Object]
console.log(target + 1) // [object Object]1
const target = {
toString() { return 1 },
}
console.log(target.toString()) // 1
console.log(target + 1) // 2
const target = {
toString() { return 1 },
valueOf() {
return 2
},
}
console.log(target.toString()) // 1
console.log(target + 1) // 3
const target = {
toString() { return 1 },
valueOf() {
return 2
},
[Symbol.toPrimitive](hint) {
return 3
},
}
console.log(target.toString()) // 1
console.log(target + 1) // 4
原始值强制转换优先权重:[Symbol.toPrimitive]
> valueOf
> toString
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。