instanceof 判断原始类型

class PrimitiveString {
    static [Symbol.hasInstance](x) {
        return typeof x === 'string'
    }
}

// 'abc' instanceof PrimitiveString  === true

对象的 Symbol.hasInstance 属性,指向一个内部方法。当其他对象使用instanceof 运算符,判断是否为该对象的实例时,会调用这个方法。这里实际上我们自定义了这个 instanceof 的行为。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前...
    语目阅读 9,319评论 0 3
  • Symbol Symbol 是一个符号对象,是es6新添加的数据类型,通过Symbol()可以得到一个唯一的值,所...
    文仔CXKSNLXX阅读 3,570评论 0 0
  • 前言 ES5 的对象属性名都是字符串,这容易造成属性名冲突的问题。比如,你使用别人的模块/对象, 又想为之添加新的...
    dingFY阅读 2,890评论 0 1
  • Symbol(符号) 一. 概念 注:Symbol为生产Symbol类型数据的函数,而不是数据类型本身 值类型而非...
    LOVE小狼阅读 3,408评论 0 0
  • typeof和instanceof都是判断数据类型的,那么这两者之间有什么区别呢? 上面的代码我们可以看出,typ...
    绘梦_阅读 2,299评论 0 0