75-instanceof关键字

  • 什么是instanceof关键字?

    • instanceof 用于判断"对象"是否是指定构造函数创建出来的"实例"

          class Person{
              name = "lnj";
          }
          let p = new Person();
          // 判断p是否是由Person构造函数创建出来的
          console.log(p instanceof Person);   // true
      
          class Cat{
              name = "mm";
          }
          let c = new Cat();
          // 判断c是否是由Person构造函数创建出来的
          console.log(c instanceof Person);   // false
      
  • instanceof 注意点

    • 只要构造函数的原型对象出现在实例对象的原型链中都会返回 true

          function Person(myName) {
              this.name = myName;
          }
          function Student(myName, myScore) {
              Person.call(this, myName);
              this.score = myScore;
          }
          Student.prototype = new Person();
          Student.prototype.constructor = Student;
      
          let stu = new Student();
          // Person的原型对象出现在了stu实例对象的原型链中, 所以会返回true
          console.log(stu instanceof Person); // true
      
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 2,147评论 0 6
  • 将Student构造函数的原型对象改为Person构造函数的原型对象注意点: 要想使用Person原型对象中的属性...
    仰望_IT阅读 226评论 0 1
  • 学习目标: 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript ...
    金桔柠檬加冰阅读 416评论 0 0
  • 布尔操作符!false //true!"blue" //false!0 //true!NaN //true!...
    左钱钱阅读 419评论 0 0
  • 整理对我来说真的是比较难的,从小到大起床连被子都不会叠的人,突然有一天爱上整理很不可思议吧!我自己都觉得意外! 开...
    整理师廷子阅读 349评论 0 0