前端面试 class加数据类型判断加原型和原型链

本文详细探讨了JavaScript中的Class语法、继承、原型和原型链的概念,以及如何判断数据类型。讲解了Class声明、实例化、继承的工作原理,并分析了instanceof、constructor和Object.prototype.toString在判断数据类型时的用法和注意事项。
摘要由CSDN通过智能技术生成

Class &、、继承 、、 原型、、 原型链、、判断数据类型

Class

ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。

类的声明

比如 声明一个类,并声明一个该类的实例

class Student {
   
    //constructor 构造函数
    constructor(name, number){
   
        //创建实例的时候 这里this指向当前创建的实例
        this.name = name 
        this.number = number
        this.gender = 'male'
    }
    sayHi() {
   
        console.log(`${
   this.name} + ${
   this.number}`)
    }
}

// 通过类 声明对象/实例
const gary = new Student('盖瑞',101)
console.log(gary.name)
console.log(gary.number)
console.log(gary.gender)
gary.sayHi()

继承
Class可以通过extends关键字实现继承;这比ES5的通过修改原型链实现继承,要清晰和方便很多。

//继承
//定义一个父类
class People {
   
    constructor(name) {
   
        this.name = name
    }
    eat() {
   
        console.log(`${
   this.name} eat`)
    }
}

//子类一
class Student extends People {
   
    constructor(name, number) {
   
        //通过子类的super函数 把属性传递给父类的constructor函数进行处理
        super(name)
        this.number = number
    }
    sayHi(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值