js 中的 class 类与字串符、数组 常用 API
1.class 类
let User = class {
//constructor构造函数
constructor(uname, email) {
//属性
this.uname = uname;
this.email = email;
}
//方法
say() {
return `${this.uname},${this.email}`;
}
//static 静态成员
static age = "18";
};
// new 生成实例对象
const user = new User("小明", "123@qq.com");
console.log(user.uname); //小明
console.log(user.say()); //小明,123@qq.com
//static静态属性只允许类访问
console.log(user.age); //undefined
console.log(User.age); //18
//extends 继承
class Child extends User {
constructor(uname, email, sex) {
//super调用父类属性
super(uname, email);
this.sex = sex;
}
say() {
return `${super.say()},${this.sex}`;
}
}
const child = new Child("小红", "111@qq.com", "女");
console.log(child.uname); //小红
2.常用 API
API:预定好的一些函数或者方法。
//1.字符串常用API
let str = "PHP中文网";
// length 属性, 字符串长度
console.log("length = ", str.length); //length = 6
// replace() 替换
console.log(str.replace("中文网", ".CN")); //PHP.CN
// substring(), 截取字符串,必须去掉(忽略)结束索引
console.log(str.substring(0, 5)); //PHP中文
// split: 字符串 -> 数组
console.log(str.split()); //[ 'PHP中文网' ]
console.log(str.split("")); //[ 'P', 'H', 'P', '中', '文', '网' ]
console.log(str.split("", 3)); //[ 'P', 'H', 'P' ]
// toLowerCase(), toUpperCase() 字母大小写转换
console.log("PHP.CN".toLowerCase()); //php.cn
console.log("www.php.cn".toUpperCase()); //WWW.PHP.CN
//2.数组常用API
let arr = [1, 2, 3, 4, 5, 6];
// ...rest 压缩与展开
let arr1 = [...arr];
console.log(arr1); //[ 1, 2, 3, 4, 5, 6 ]
// every(): 全部满足条件才返回 true, 否则 false
console.log(arr.every((item) => item >= 0)); // true
// 全部大于3
console.log(arr.every((item) => item >= 3)); // false
// some(): 只要有一个满足条件,就返回 true
console.log(arr.some((item) => item >= 3)); //true
console.log(arr.some((item) => item >= 30)); //false
//filter : 将满足条件的元素打包到一个数组中返回
console.log(arr.filter((item) => item >= 3)); // [ 3, 4, 5, 6 ]
//find(): 从结果中返回第一个满足条件的元素
console.log(arr.find((item) => item > 5)); //6
// Array.from(): 类数组(对象) -> 包装成一个真正的数组
const likeArr = {
0: "red",
1: "blue",
2: "green",
length: 3,
};
// 为什么要转为真数组?
// 因为数组上有非常多的方法可以使用
const data = Array.from(likeArr);
console.log(data); //[ 'red', 'blue', 'green' ]