对象常用方法
Object.assign() 合并对象, 值互不影响
const obj = { a: '1' }
const obj2 = Object.assign({}, obj)
obj2.ccc = 6
console.log(obj)
console.log(obj2)
Object.create() 静态方法以一个现有对象作为原型,创建一个新对象。
const obj = {a: '1'}
const obj1 = Object.create(obj)
obj1 = {} 但是它的 __proto__ 指向 obj,所以可以打印
obj1.a === '1'
Object.defineProperty
Object.entries() 区别在于 for-in 循环还会枚举原型链中的属性
const obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
Object.freeze() // 冻结
const obj = {
prop: 42
};
Object.freeze(obj);
obj.prop = 33;
// Throws an error in strict mode
console.log(obj.prop); // 42
Object.keys()
Object.values()
Object.prototype.hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(不在原型链中,也就是,是否有指定的键)。
数组常用方法
/*
影响原数组
pop 后删, push 后增,影响原数组
shift 前删, unshift 前增,影响原数组
arr[1] = 234 影响原数组
splice(1, 0, 2, 3) 追加数据,影响原数组
reverse 返回反转后的数组
不影响原数组。
slice(1, 3) >=1, <=3, 返回新数组,不影响原数组
concat 拼接数组,返回新数组,不影响原数组
*/
const arr = [1, 2, 3, 4, 5]
// 数组中查找的方法
/*
find
findIndex
findLast
findLastIndex
includes
indexOf
some
every
*/
// 数组中遍历
/*
arr.forEach
arr.map
arr.filter
arr.from
arr.reduce
push
pop
shift
unshift
splice
slice
reverse
sort
concat
*/
es6数组常用方法
1、Array.from() //可以将伪数组转化成数组
基于 [].slice.call(obj) 实现的
2、Array.of() // Array.of 方法用于将一组值,转换为数组。弥补数组构造函数 Array()的不足
Array.of(3); // [3]
Array.of(3, 11, 8); // [3,11,8]
new Array(3); // [, , ,]
3、数组实例的 find() 和 findIndex() // 查找数组,返回某一项或者下标
4、数组实例的 fill()
5、数组实例的 entries(),keys() 和 values() // 将数组转变成对象,返回 key 跟 value
6、includes()方法返回一个布尔值 // 根据值查找某一项,返回 布尔 值
7、数组实例的 flat(),flatMap() //
8、数组实例的copywithin()
<script>
</script>
字符串
// 查找
/*
includes 返回 布尔值
indexOf 返回 -1
match 返回 -1
serch 返回 -1
split 字符串转数组
slice 截取 并返回一个新的字符串,且不会改动原字符串。
subString 截取 并返回一个新的字符串,且不会改动原字符串。
replace 替换 返回值:替换后的字符串,不影响原来的
trim
endsWith // 找到后面匹配的 返回 true
startsWith // 找到前面匹配的 返回 true
*/