// 1. 实例演示class类与extends,super等的用法 2. 实例演示字符串,数组常用API (至少5个以上)
let user = class {
constructor(name, age, sex){
this.name = name
this.age = age
this.sex = sex
}
say(){
return `${this.name} (${this.age}岁 ${this.sex})`
}
static nation = `CHINA`
}
// user1继承user类的属性功能
class user1 extends user {
constructor(name, age, sex, cm){
// super是调用父类(user)的成员
super(name, age, sex)
// 这是子类的自我扩展
this.cm = cm
}
say(){
// super.say是调用user.say,this.cm是子类自己添加的属性
return` ${super.say}, (${this.cm})`
}
}
// 数组常用API
// 1. ...rest这是压缩和展开
arr = [1,2,3]
// arr的数组内容在数组arr1中展开
let arr1 = [...arr]
// 下面的...arr是数组之前自有内容,456是添加内容,结果1,2,3,4,5,6
arr = [...arr, 4, 5, 6]
// 2.array.from();类数组变成真正的数组
const likeArr = {
0: 'red',
1: 'blue',
2: 'green',
length: 3,
}
// 用array.from直接把类数组变成真正的数组
const data = Array.from(likeArr)
// 3.new Set()去重
const arr2 = [1,1,2,2,3,3]
console.log(new Set(arr2)) // [1,2,3]
// 4.sort()排序
console.log(arr2.sort((a,b)=>b-a))
//结果[3,3,2,2,1,1] sort((a,b)=>b-a) 后面的b-a是倒序的意思,如果是a-b就是正序
// 5.join()在数组值中间加入自己想要的东西
console.log(arr2.join('-'))//[3-3-2-2-1-1]