>  기사  >  웹 프론트엔드  >  향상된 객체 리터럴

향상된 객체 리터럴

PHPz
PHPz원래의
2024-08-24 11:03:18202검색

Enhanced Object Literals

  • ES6 introduced 3 ways to write object literals
  • First Way:
- ES6 Enhanced object literal syntax can take an external object like salary object and make it a property of the developer object as shown below:
const salary = {
  fixed: '$200k',
  variable: '$100k'
}

const developer = {
  // salary: salary      // Before ES6
  salary                 // ES6 way
}

developer; // { salary: { fixed: '$200k', variable: '$100k' } }

- If any change is made in salary object, same change needs to be made inside the developer object for salary object which is present as property of developer object.
  • Second way:
  • We don't need to create a property & then set it to function expression. We can write that directly without function keyword as shown below i.e ES6 Way.
const salary = {
  fixed: '$200k',
  variable: '$50k'
}

const developer = {
  salary,
  /* Before ES6
  greet: function(name){
    console.log(`Salary credited. Enjoy ${name}!`);
  }*/
  // ES6 Way
  greet(name){
    console.log(`Salary credited. Enjoy ${name}!`);
  }
}

developer.greet("Peter");
  • Third Way:
  • Property names can be computed also
const seasons = ['winter','summer','spring', 'monsoon','autumn'];

const fruits = {
  [seasons[0]]: 'apple',
  [seasons[1]]: 'mango',
  [[seasons.length]]: 'cherry'
}

fruits;   // { '5': 'cherry', winter: 'apple', summer: 'mango' }

위 내용은 향상된 객체 리터럴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.