>웹 프론트엔드 >JS 튜토리얼 >ECMAScript의 새로운 기능 ES 및 ESFeatures에 대한 복습

ECMAScript의 새로운 기능 ES 및 ESFeatures에 대한 복습

Susan Sarandon
Susan Sarandon원래의
2025-01-04 01:15:37348검색

What’s New in ECMAScript A Dive into ES& A Refresher on ESFeatures

소개

JavaScript의 표준인 ECMAScript는 계속 발전하여 개발자 생산성을 향상하고 코딩 작업을 단순화하는 새로운 기능을 제공합니다. 2024년에 ES15는 ES6의 유산을 기반으로 하는 몇 가지 흥미로운 추가 기능을 도입합니다. 이 기사에서는 ES15의 최신 업데이트에 대해 자세히 알아보고 JavaScript 개발을 변화시킨 주요 ES6 기능을 다시 살펴보겠습니다.


ECMAScript 2024(ES15)의 새로운 기능

  1. 데코레이터(최종)

    • 정의: 데코레이터는 클래스와 클래스 멤버의 동작을 확장하기 위해 래핑하는 구문입니다.
    • :
     function log(target, key, descriptor) {
       const original = descriptor.value;
       descriptor.value = function (...args) {
         console.log(`Called ${key} with args: ${args}`);
         return original.apply(this, args);
       };
     }
    
     class Example {
       @log
       doSomething(value) {
         console.log(`Doing something with ${value}`);
       }
     }
    
     const example = new Example();
     example.doSomething('test'); // Logs: Called doSomething with args: test
                                  //       Doing something with test
    
  2. 어레이 그룹화

    • 정의: 두 가지 새로운 메소드인 Array.prototype.group 및 Array.prototype.groupToMap은 지정된 기준에 따라 배열 요소를 그룹화합니다.
    • :
     const items = [
       { type: 'fruit', name: 'apple' },
       { type: 'fruit', name: 'banana' },
       { type: 'vegetable', name: 'carrot' },
     ];
    
     const grouped = items.group(item => item.type);
     console.log(grouped);
     // { fruit: [{ type: 'fruit', name: 'apple' }, { type: 'fruit', name: 'banana' }], 
     //   vegetable: [{ type: 'vegetable', name: 'carrot' }] }
    
  3. 기호 설명

    • 정의: 이제 기호에 설명이 포함될 수 있으므로 디버깅이 더 쉬워집니다.
    • :
     const mySymbol = Symbol.for('userToken');
     console.log(mySymbol.description); // "userToken"
    
  4. 명시적 자원 관리

    • 소개: 자원을 효과적으로 관리하기 위해 Symbol.dispose를 통한 자원 사용 및 폐기 방법을 소개합니다.
    • :
     class FileHandler {
       constructor(name) {
         this.name = name;
         console.log(`File ${name} opened`);
       }
       [Symbol.dispose]() {
         console.log(`File ${this.name} closed`);
       }
     }
    
     {
       using const file = new FileHandler('example.txt');
       // Perform file operations
     }
     // Logs: File example.txt closed
    

복습: ES6(2015년 이후)의 주요 기능

  1. 화살표 기능

    • 함수 작성을 위한 간결한 구문:
     const add = (a, b) => a + b;
     console.log(add(2, 3)); // 5
    
  2. 템플릿 리터럴

    • 문자열에 표현식 삽입:
     const name = 'Alice';
     console.log(`Hello, ${name}!`); // Hello, Alice!
    
  3. 구조파괴

    • 배열이나 객체에서 값 추출:
     const [a, b] = [1, 2];
     const { name, age } = { name: 'Bob', age: 25 };
    
  4. 수업

    • 프로토타입에 대한 구문 설탕:
     class Animal {
       constructor(name) {
         this.name = name;
       }
       speak() {
         console.log(`${this.name} makes a noise.`);
       }
     }
    
  5. 모듈

    • 가져오기 및 내보내기 기능:
     export function greet() {
       console.log('Hello!');
     }
     import { greet } from './greet.js';
    
  6. 약속

    • 비동기 작업 처리:
     fetch('https://api.example.com')
       .then(response => response.json())
       .then(data => console.log(data))
       .catch(err => console.error(err));
    
  7. 비동기/대기

    • Promise에 대한 구문적 설탕:
     async function fetchData() {
       const response = await fetch('https://api.example.com');
       const data = await response.json();
       console.log(data);
     }
    
  8. 기본 매개변수

    • 함수 매개변수에 기본값을 제공하세요.
     function greet(name = 'Guest') {
       console.log(`Hello, ${name}!`);
     }
    
  9. 스프레드 및 휴식 연산자

    • 배열이나 객체 확장을 위한 스프레드(...):
     const arr1 = [1, 2];
     const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]
    
  • 인수 수집을 위한 나머지(...):

     function log(target, key, descriptor) {
       const original = descriptor.value;
       descriptor.value = function (...args) {
         console.log(`Called ${key} with args: ${args}`);
         return original.apply(this, args);
       };
     }
    
     class Example {
       @log
       doSomething(value) {
         console.log(`Doing something with ${value}`);
       }
     }
    
     const example = new Example();
     example.doSomething('test'); // Logs: Called doSomething with args: test
                                  //       Doing something with test
    

결론

ECMAScript는 언어를 개선하고 강력한 새 기능을 추가하는 점진적인 업데이트를 통해 JavaScript의 미래를 계속해서 형성하고 있습니다. 데코레이터 및 리소스 관리와 같은 최신 ES15 기능을 활용하든 ES6의 혁신적인 업데이트를 다시 방문하든 최신 상태를 유지하면 JavaScript 코드가 현대적이고 효율적으로 유지됩니다.


메타 설명:

최신 ECMAScript 2024 기능을 살펴보고 최신 JavaScript 개발을 지속적으로 형성하는 ES6의 혁신적인 업데이트를 다시 살펴보세요.


TLDR - 스키머를 위한 하이라이트:

  • ES15의 새로운 기능: 데코레이터, 배열 그룹화, 리소스 관리.
  • ES6 기능 복습: 화살표 기능, 클래스, 비동기/대기 등.
  • 이러한 기능이 JavaScript 개발을 단순화하는 방법에 대한 실제 예입니다.

가장 좋아하는 ECMAScript 기능은 무엇이며, 이 기능이 개발 프로세스를 어떻게 개선했습니까? 여러분의 생각을 댓글로 남겨주세요!

위 내용은 ECMAScript의 새로운 기능 ES 및 ESFeatures에 대한 복습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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