ホームページ >ウェブフロントエンド >jsチュートリアル >ECMAScript の新機能 ES の詳細と ES 機能の再確認

ECMAScript の新機能 ES の詳細と ES 機能の再確認

Susan Sarandon
Susan Sarandonオリジナル
2025-01-04 01:15:37405ブラウズ

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. 配列のグループ化

    • 概要: 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 機能の復習: アロー関数、クラス、async/await など。
  • これらの機能が JavaScript 開発を簡素化する方法の実践的な例。

お気に入りの ECMAScript 機能は何ですか?また、それによって開発プロセスがどのように改善されましたか?コメントでご意見を共有してください!

以上がECMAScript の新機能 ES の詳細と ES 機能の再確認の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。