字符串
ES6之前判断字符串是否包含子串,用indexOf方法, ES6新增了子串的识别方法
includes():返回布尔值,判断是否找到参数字符串。
var str = "131315548";
console.log(str.includes(131)); //true
startsWith() :返回布尔值,判断参数字符串是否在原字符串的头部。
console.log(str.startsWith(131)); //true
console.log(str.startsWith(12, 2)); //false 从第二个参数的下标处开始判断
endsWith() :返回布尔值, 判断参数字符串是否在原字符串的尾部。
console.log(str.endsWith(8)); //true
console.log(str.endsWith(5, 7)); //true 将字符串从0截取到第二个参数处 在进行判断 截取前7个字符串 判断是否以5结尾
repeat()返回新字符串 将新字符串重复指定次数返回
console.log(str.repeat(2)); //131315548131315548
padStart() padEnd()返回新字符串 表示用参数字符串从头到尾{或从尾到头}补全原字符串
console.log(str.padEnd(15, "abc")); //131315548abcabc
console.log(str.padStart(15, "abc")); //abcabc131315548
模板字符串`` 可以插入标签 可以进行换行
对象
// var obj = {
// count: count,
// say: function () {},
// };
//es6新简写方法 变量名和属性名一样时可以这样写 方法的简写将function去掉
// var obj = { count, say() {} };
//es6 属性名可以是一个表达式 用[]括起来 会隐形将[]中的表达式进行一次tostring转换
var obj = { [100 + "张三"]: 90, [{}]: 100 };
console.log(obj); //{100张三: 90, [object Object]: 100} 对象tostring转换后就是[object Object]
//注意:属性的简洁表示和属性名表达式不能同时使用 不然会报错
// var obj={[hello]}//报错
//对象用扩展运算符取值
var obj = {
name: "张三",
age: 18,
};
var obj2 = { ...obj };
console.log(obj, obj2, obj == obj2); //长得一样的 但是注意 他们都隐形创建了一个新对象 所以是不相等的
//对象的新静态方法
//is 判断两个数是否相同 可以等同于=== 以下两种特殊情况和===不同
console.log(Object.is(0, -0)); //false
console.log(Object.is(NaN, NaN)); //true
console.log(0 === -0); //true
console.log(NaN === NaN); //false
数组
//数组的新静态方法
//Array.of() 将参数中的所有值作为元素形成数组
var arr = Array.of(10); //一个值也会看做数组中新添加元素
var arr1 = new Array(10); //一个值会被看成数组的长度
console.log(arr, arr1); //[10] [空属性X10]
//Array.from() 将类数组对象或可迭代(可遍历)的对象转换为数组
//find 传入一个函数 查找符合条件的元素并返回 找到后立刻结束 找不到返回undefined
var arr = [1, 2, 3, 4, 5];
console.log(
arr.find(function (el) {
return (el = 1);
})
); //1 这里的返回值是find的返回值 不是函数的返回值
//findIndex 返回符合条件元素的下标 其他和find一样
//inludes 判断数组是否包含元素 要注意元素为引用数据时 是否新创建了地址空间 如果是的话判断为false
console.log(arr.includes(1)); //true
//fill 填充
console.log(arr.fill(9)); // [9, 9, 9, 9, 9] 改变原数组
console.log(arr.fill(8, 0, 3)); // [8, 8, 8, 9, 9] 后两个参数决定填充范围
//flat 对数组进行降维 默认降1层 参数决定降几层
var arr1 = [1, 2, 3, [5, 6, [7]]];
console.log(arr1.flat(2)); //[1, 2, 3, 5, 6, 7]