ES6对象的新增方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6对象的新增方法相关的知识,希望对你有一定的参考价值。

参考技术A 设置一个对象的原型

读取一个对象的原型

返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名

返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值

返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组

该方法是Object.entries()的逆操作,用于将一个键值对数组转为对象

ES5新增 数组,字符串,对象方法

数组新增方法

迭代方法:forEach() map() filter() some() every()

forEach()

// array.forEach(function (currentValue, index, arr));
// currentValue:数组当前项的值
// index: 数组当前项的索引
// arr:数组对象本身
var arr = [1, 2, 3];
arr.forEach(function(value, index, array) {
   console.log(value); // 1, 2, 3
   console.log(index); // 0, 1, 2
   console.log(array); // [1, 2, 3] [1, 2, 3] [1, 2, 3]
});

filter()

// arr.filter(function (currentValue, index, array));
// filter() 方法创建了一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组
// 它直接返回一个新的数组;
var newAarr = arr.filter(function (item, index) {
   return item > 1; 
});
console.log(newArr);

some()

// arr.some(function (currentValue, index, array){})
// some方法用于检测数组中的元素是否满足条件;返回的是一个布尔值
// 如果找到第一个满足条件的元素,则终止循环,不在继续查找
var flag = arr.some(function (item) {
    return item === 1;
})
console.log(flag);

字符串新增方法

// trim() 会从一个字符串的两端删除空白返回一个新的字符串不影响原来的字符串
var str = ‘  andy  ‘;
var str1 = str.trim();
console.log(str1); // andy

对象方法

Object.keys()

// 用于获取对象自身的所有属性;效果类似于for in,返回一个由属性名组成的数组
var obj = {name: ‘zs‘, age: 23}
var arr = Object.keys(obj); // ["name", "age"]

Object.definePropetry()

// Object.definePropetry(obj, prop, descriptor);
// obj:必须 目标对象
// prop: 必须 需定义或修改的属性的名字
// descriptor: 必须 目标属性所拥有的特性 传入一个对象
// value: 设置属性值,默认是undefined
// writable:值是否可以被重写, 默认false 不可以
// enumerable: 目标属性是否可以被枚举, 默认fasle
// configurable:目标属性是否可以删除或是否可以再次修改特性,默认false
bject.defineProperty(obj, ‘age‘, {
  value: 24
});
Object.defineProperty(obj, ‘id‘, {
  value: 1,
  writable: false, // 不允许被修改
  enumerable: true
})
Object.defineProperty(obj, ‘address‘, {
  value: ‘china‘,
  writable: false,
  enumerable: true, // 是否可以被循环
  configurable: false, // 不允许删除这个属性
})
obj.id = 2;
delete obj.address;
console.log(Object.keys(obj));

以上是关于ES6对象的新增方法的主要内容,如果未能解决你的问题,请参考以下文章

ES6新增语法(四)——面向对象

ES6新增语法 + 内置对象扩展 + 箭头函数

以下关于array的方法,哪个属于es6新增的

ES6字符串对象的新增11种实例方法必知

对象的新增方法《ES6标准入门(第3版)》

对象的新增方法《ES6标准入门(第3版)》