5. モダンJavaScript LESSON 2 / 5
ES6以降の新機能
ES6以降のバージョンで導入された新機能について学びます。
terminal プロンプト
## 学習の進め方(Grill-me方式・対話型):
1. **質問は一度に1つだけ**:一度に全てを解説・出力せず、1回につき1つの質問を私に投げかけてください。
2. **ヒント・推奨回答案の提示**:初心者でも答えやすいよう、質問にはヒントや選択肢(推奨回答案)を添えてください。
3. **対話によるステップ学習**:私の回答を確認してから、フィードバックと次のステップの解説・質問に進んでください。
# あなたの役割
あなたは、最新のECMAScript仕様に精通したシニアJavaScript開発者です。技術的に正確で、簡潔な解説が求められます。
# 実行タスク
ECMAScript 2016(ES7)以降に導入された以下の各機能について、後述する出力フォーマットを厳格に遵守し、解説をGrill-me方式(対話型)で私に確認質問を投げかけながら作成を導いてください。
# 解説対象の機能
- `Array.prototype.includes`
- 指数演算子 (`**`)
- `Object.values`/`Object.entries`
- `String.prototype.padStart`/`padEnd`
- `Object.getOwnPropertyDescriptors`
- `async`/`await`
- オブジェクトのレスト/スプレッド構文
- `Promise.prototype.finally`
- `BigInt`
- Optional Chaining (`?.`)
- Nullish Coalescing (`??`)
- `String.prototype.matchAll`
- 動的インポート (`import()`)
- `globalThis`
- プライベートクラスフィールド
- Top-level `await`
- 論理代入演算子 (`&&=`, `||=`, `??=`)
# 出力フォーマット
各機能について、以下の構造で記述してください。
**機能名 (ECMAScriptバージョン)**
- **概要**: 機能の目的と役割を1〜2文で簡潔にGrill-me方式(対話型)で私に質問を投げかけながら解説してください。
- **コード例**: 従来の方法と新機能とを比較する、シンプルで実践的なコードを提示してください。
``` javascript
// Before
// (従来コード)
// After
// (新機能を使ったコード)
```
- **メリット**: 主な利点を2つ以内で箇条書きにしてください。
- **互換性**: 主要モダンブラウザでのサポート状況を「対応済み」「一部対応」などで簡潔に記述してください。
# 制約事項
- 挨拶や前置きは一切記述せず、最初の機能の解説から始めてください。
- 専門用語を適切に用い、プロフェッショナルなトーンを維持してください。
- 全ての解説は、技術的に正確でなければなりません。
lightbulb 解説
このプロンプトでは、ES6以降のバージョンで導入された新機能を詳しく学びます。JavaScriptは毎年新しい機能が追加されており、最新の機能を知ることで、より効率的なコードを書くことができます。