乱码
小说: 烂尾楼 作者:衣衫似风雪 字数:1209 更新时间:2024-03-29 17:50:00
16.rest 和 扩展运算符区别
rest参数,出现在函数参数位置
作用: 离散数据 -> 数组
function fn(...rest) {
console.log(rest);
}
fn(100, 110, 120); //(3) [100, 110, 120]
... 扩展运算符出现在非参数位置
作用:
数组 -> 离散的数据
拆分伪数组: NodeList HTMLCollection arguments...
let arr = [1, 2, 3, 4, 5];
console.log(...arr); //1 2 3 4 5
function fn1() {
console.log(arguments); //Arguments(3) [2, 3, 4]
console.log(...arguments); //2 3 4
}
fn1(2,3,4);
17.ES6 面向对象
17-1、class 类、模板
构造器:当类被实例化时,自动执行构造器
每个类必须至少一个构造器,若没有,系统自动添加一个无参构造器
构造函数,不能主动调用
17-2、set 和 get 设置和获取属性
get 不能传递参数
只有当有set方法时才可以写get方法,同时出现
17-3、静态方法:
类自身的方法,不用实例化即可调用
不会被实例继承,直接通过类来调用
17-4、静态属性:
类名.属性名 = 值;
17-5、extends 实现继承
继承是单向的
被继承的类属于父类,基类,也称超类
静态方法可以被子类继承
继承属性super()必须放在构造器第一句
一个父类可以有多个子类,一个子类只有一个父类
17-6、注意:
父类可调用自己的成员方法
父类可以调自己的静态方法
父类不能调子类的成员方法
子类的实例可以调父类成员方法
子类的实例不能调父类静态方法
子类可以调父类静态方法
class Person {
constructor(uname, uage) {
this.uname = uname;
this.uage = uage;
}
//成员方法
walk() {
console.log(`${this.uname}正在奔跑!`);
}
// 静态方法:类自身的方法
static cry() {
console.log('人生下来就会哭!');
}
}
// 静态属性
Person.living = 'earth';
//学生类继承Person类
class Student extends Person {
constructor(sname, sage, sno) {
super(sname, sage); //此句必须在构造器第一句
this.sno = sno;
}
// 成员方法
study() {
console.log(`${this.sname}在学习呢!`);
}
//set 访问器 控制属性的设置
set sage(age) {
}
// get 访问器,获取属性
get sage() {
}
}
//创建类的实例 类的实例化
var stu = new Student('王飒', 23, '001');
作者:也在水湄
链接:https://www.jianshu.com/p/d23a506cdca2
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
