加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

如何在JavaScript中使用对象的方法

发布时间:2019-04-24 04:06:13 所属栏目:优化 来源:joking_zhang
导读:介绍 JavaScript 中,对象是 键/值 对的集合。值可以包含属性和方法,并且可以包含所有其他 JavaScript 数据类型,例如字符串,数字和布尔值。 JavaScript中的所有对象都来自父 Object 的构造函数。Object 为我们提供了很多实用的内置方法,并且可以在单个

Object.entries() 创建对象的键/值对的嵌套数组。

  1. // Initialize an object  
  2. const operatingSystem = {  
  3. name: 'Ubuntu',  
  4. version: 18.04,  
  5. license: 'Open Source'  
  6. };  
  7. // Get the object key/value pairs  
  8. const entries = Object.entries(operatingSystem);  
  9. console.log(entries);  
  1. Output  
  2. [  
  3. ["name", "Ubuntu"]  
  4. ["version", 18.04]  
  5. ["license", "Open Source"]  
  6. ]  

一旦我们有了键/值对数组,我们就可以使用该forEach()方法循环并处理结果。

  1. // Loop through the results  
  2. entries.forEach(entry => {  
  3. const [key, value] = entry;  
  4. console.log(`${key}: ${value}`);  
  5. });  
  1. Output  
  2. name: Ubuntu  
  3. version: 18.04  
  4. license: Open Source  

Object.entries() 方法仅返回对象实例自己的属性,而不返回可通过其原型继承的任何属性。

Object.assign()

Object.assign() 用于把一个对象的值复制到另一个对象。

我们可以创建两个对象,使用Object.assign()方法将它们合并。

  1. // Initialize an object  
  2. const name = {  
  3. firstName: 'Philip',  
  4. lastName: 'Fry'  
  5. };  
  6. // Initialize another object  
  7. const details = {  
  8. job: 'Delivery Boy',  
  9. employer: 'Planet Express'  
  10. };  
  11. // Merge the objects  
  12. const character = Object.assign(name, details);  
  13. console.log(character);  
  1. Output  
  2. {firstName: "Philip", lastName: "Fry", job: "Delivery Boy", employer: "Planet Express"}  

也可以使用展开语法(Spread syntax)来完成相同的任务。在下面的代码中,我们将通过展开语法合并name和details对象,来声明character对象。

  1. // Initialize an object  
  2. const name = {  
  3. firstName: 'Philip',  
  4. lastName: 'Fry'  
  5. };  
  6. // Initialize another object  
  7. const details = {  
  8. job: 'Delivery Boy',  
  9. employer: 'Planet Express'  
  10. };  
  11. // Merge the object with the spread operator  
  12. const character = {...name, ...details}  
  13. console.log(character);  
  1. Output  
  2. {firstName: "Philip", lastName: "Fry", job: "Delivery Boy", employer: "Planet Express"} 

展开语法(Spread syntax) 在对象语法中也成为浅层克隆(shallow-cloning)。

Object.freeze()

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读