JavaScript学习(二)类
类
JavaScript中的类是语法糖,一种基于原型的继承的语法糖。
类的创建
class Star {
constructor(uname, age) {
this.uname = uname
this.age = age
}
sing(sing) {
console.log(sing);
}
}
类的继承
class Father {
constructor(x, y) {
this.x = x
this.y = y
}
sum() {
console.log(this.x + this.y);
}
}
class Son extends Father {
constructor(x, y) {
super(x, y)
}
}
let son = new Son(1, 2)
son.sum() // 3
借助父构造函数继承属性
function Father(uname, age) {
this.uname = uname
this.age = age
}
Father.prototype.money = function () {
console.log("100000");
}
function Son(uname, age, score) {
Father.call(this, uname, age)
this.score = score
}
// Son.prototype = Father.prototype
Son.prototype = new Father() // Son的原型对象指向Father的实例化对象
Son.prototype.constructor = Son // 需要重新指向Son构造函数
Son.prototype.exam = function () {
console.log("孩子要考试");
}
let son = new Son("刘德华", 18, 88)
console.log(son);
console.log(Father.prototype);
console.log(Son.prototype.constructor);