菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
前端-王卓凡-20230529
[打印本页]
作者:
王卓凡
时间:
2023-6-13 18:14
标题:
前端-王卓凡-20230529
ES6中的类
类没有变量提升,必须先定义,再实例化。
类里面共有的属性和方法一定要加this。
//创建类
class Person {
constructor(uname, uage) {
this.uname = uname
this.uage = uage
}
}
//实例对象
let p1 = new Person('zs', 20)
console.log(p1)
let p2 = new Person('ls', 30)
console.log(p2)
//方法的添加
class User {
constructor(pws, username) {
this.pws = pws
this.username = username
}
login() {
console.log('login')
}
}
let u1 = new User('1234', '长在红旗下')
console.log(u1)
u1.login()
let u2 = new User('668899', '生在春风里')
console.log(u2)
u2.login()
console.log(u1.login === u2.login) //true//静态方法添加
class User {
constructor(pws, username) {
this.pws = pws
this.username = username
}
login() {
console.log('login')
}
// 静态方法
static register() {
console.log('register')
}
}
User.register()
let u1 = new User('1234', '长在红旗下')
u1.register() //报错//继承
class Person {
constructor(uname, uage) {
this.uname = uname
this.uage = uage
}
say() {
console.log(this.uname)
}
}
class Student extends Person {
constructor(uname, uage) {
super(uname, uage) //调用父类的构造函数
}
}
const s1 = new Student('zs', 18)
console.log(s1)
s1.say()class Person {
constructor(uname, uage) {
this.uname = uname
this.uage = uage
}
say() {
console.log(this.uname)
}
}
class Student extends Person {
constructor(uname, uage) {
super(uname, uage)
}
// 添加自己的say方法
say() {
// 也可以实现调用父类中say
super.say()
console.log(this.uage)
}
}
const s1 = new Student('zs', 18)
console.log(s1)
s1.say() //优先使用本身的方法class Father {
constructor(a, b) {
this.a = a
this.b = b
}
getAdd() {
console.log(this.a + this.b)
}
}
class Son extends Father {
constructor(a, b) {
super(a, b)
}
}
const s1 = new Son(1, 2)
s1.getAdd()class Person {
constructor(uname, uage) {
this.uname = uname
this.uage = uage
}
sayName() {
console.log(this.uname)
}
}
class Student extends Person {
constructor(uname, uage) {
super(uname) //必须写在this的前面
this.uname = uname
this.uage = uage
}
sayAge() {
console.log(this.uage)
}
}
const s = new Student('zs', 16)
s.sayAge() //16
s.sayName() //zs,继承父类的方法
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4