ES6 之 对象的扩展

属性的简洁表示法

    let book = ‘234‘;
    let good = ‘432‘;
    let obj01 = {
      book,
      good
    }
    console.log(obj01);

方法名的name属性

.....

Object.is()

    // Object.is() 用来比较俩个值是否严格相等,与 === 行为基本一致
    // == 会自动转化数据类型
    // === NaN不等于 NaN 以及 +0 和 -0
    console.log(Object.is(‘foo‘,‘foo‘)); // true
    console.log(Object.is({},{})); // false
    console.log(Object.is(+0,-0)); // false
    console.log(Object.is(NaN,NaN)); // true
    // +0 不等于 -0 NaN 等于自身

Object.assign()

    // Object.assign() 方法将源对象(source)的所有可枚举的属性复制到目标对象上
    let target = { a: 1 }
    let source1 = { b: 2 }
    let source2 = { c: 3 }
    let a = Object.assign(target, source1, source2) // {a: 1, b: 2, c: 3}
    console.log(a);
    // 同名属性 ,后面的属性 会 覆盖前面的属性
    // 如果只有一个参数,Object.assign会直接返回该参数
    // 如果参数不是对象,则会先转成对象,然后返回
    let target2 = { a: 1 }
    let b = Object.assign(target2, undefined) // {a: 1}
    console.log(b);
    let target3 = { a: 1 }
    let c = Object.assign(target3, null) // {a: 1}
    console.log(c);

ES6 属性的遍历

    // for ... in
    // Object.key(obj) // 返回一个数组,包括对象自身(不含继承)的所有可枚举属性
    // Ojbect.getOwnPropertyNames(obj) // 返回一个数组
    // Ojbect.getOwnPropertySymbols(obj) // 返回一个数组
    // Reflect.ownKeys(obj) // 返回一个数组

原文地址:https://www.cnblogs.com/houfee/p/10055695.html

时间: 2024-09-29 16:09:26

ES6 之 对象的扩展的相关文章

ES6知识点-对象的扩展

3.6对象的扩展 3.6.1属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法. var foo = 'bar'; var baz = {foo}; console.log( baz ) // { foo: 'bar' } //等同于 var foo = 'bar'; var baz={ foo:foo}; console.log( baz ) // { foo: 'bar' } var func= { method() { return "这里是ES6方法简写!";

【ES6】对象的扩展

Object.setPrototypeOf(obj, proto) Object.getPrototypeOf(obj) Object.getOwnPropertyDescriptor(obj,property) 获取该属性的描述对象.描述对象的enumerable属性,称为“可枚举性”,如果该属性为false,下列操作会忽略当前属性 for...in循环:只遍历对象自身的和继承的可枚举的属性. Object.keys():返回对象自身的所有可枚举的属性的键名. JSON.stringify()

关于es6中对象的扩展

1.Object.is() es5比较两个值是否相等,只有两个运算符,相等(==) 和 严格相等(===),他们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0 等于 -0.es6提出了Object.is()方法,它用来比较两个值是否相等,与严格运算符(===)的行为基本一致 Object.is('foo', 'foo')  //false  Object.is({} , {}) //false 不同之处只有两个, Object.is(+0, -0) // true  Obje

ES6 常用总结——第三章(数组、函数、对象的扩展)

1.1. Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map). 下面是一个类似数组的对象,Array.from将它转为真正的数组. let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3}; // ES5的写法var arr1 = [].slice.call(arrayLike);

ES6中对对象的扩展

ES6允许直接写入变量和函数作为对象的属性和方法.这样的书写更加简洁. ES6允许在对象中只写属性名,不写属性值.这时,属性值等于属性名所代表的变量. function f(x , y){ return {x ,y}; } f(1,2)// Object {x:1,y:2} function getPoint(){ var x=1; var y=10; return {x,y}; } getPoint()//{x:1,y:10} js语言定义对象的属性有两种方法.obj.foo=true;obj

web前端之es6对象的扩展

1.属性的简洁表示法 2.属性名表达式 表达式作为对象的属性名 3.方法的 name 属性 例如:函数的name 属性,返回函数名. 4.Object.is() ES 比较两个值是否相等,只有两个运算符,相等运算符,相等运算符(==) 和严格相等运算符(===) 5.Object.assign() Object.assign 方法用于对象的合并,将源对象的所有的可枚举属性,赋值到目标对象 例如; 6.属性的可枚举行和遍历 可枚举性 描述对象的enumerable 属性,称为“可枚举属性” 如果该

ES6入门教程---数值扩展数组扩展和对象扩展

1.数值扩展 var num = 0b11; console.log(num);3 var num = 0o11;console.log(num);9 var num = 1.234; console.log(Math.trunc(num))//干掉小数点console.log(Math.sign(-0));//判断参数是正数.负数.正0还是负0 console.log(Math.hypot(3,4))//返回所有参数的平方和的平方根(勾股定理) 2.数组扩展 var str = 'xunian

ES6对数组的扩展

ECMAScript6对数组进行了扩展,为数组Array构造函数添加了from().of()等静态方法,也为数组实例添加了find().findIndex()等方法.下面一起来看一下这些方法的用法. Array.from() Array.from()将类数组(array-like)对象与可遍历的对象转化为数组并返回.例如将dom节点集合转化为数组,以前我们可能都会这样写: var divs = document.querySelectAll("div"); [].slice.call(

9.对象的扩展

1.属性的简介表示法 2.属性名表达式 3.方法的name属性 4.Object.is() 5.Object.assign() 6.属性的可枚举性 7.属性的遍历 ES6一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性). (2)Object.keys(obj) Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性). (3)Object.getOwnProper