ホームページ >ウェブフロントエンド >jsチュートリアル >2024年の5つのエキサイティングな新しいJavaScript機能
2024 JavaScript Coreは、見込み客
を特徴としています この記事では、2024年に非常に期待されている新しいJavaScript機能を詳細に調べます。これは、今年のECMAScriptバージョンに含まれる可能性が最も高いです。
ecmascriptアップデート
ES6アップデート以来、新しいJSバージョンが毎年リリースされており、今年のES2024バージョンは6月頃にリリースされる予定です。 ES6は、前任者ES5の6年後の巨大なバージョンの更新です。ブラウザメーカーとJavaScript開発者はすべて、多数の機能アップデートに圧倒されています。これが再び起こるのを避けるために、その後、新しいバージョンが毎年リリースされます。毎年新しいバージョンをリリースするには、提案、議論、評価、および新機能に関する委員会の投票が含まれます。また、このプロセスにより、ブラウザは言語に正式に追加される前に機能を実装しようとすることができます。これにより、実装の問題が解決するのに役立ちます。前述のように、JavaScript(またはECMAScript)の新機能は、技術委員会39(TC39)によって決定されます。 TC39は、すべての主要なブラウザメーカーとJavaScriptの専門家の代表者で構成されています。彼らは定期的に会い、言語の新機能とそれらを実装する方法について議論します。新機能は提案の形で提示され、その後、委員会メンバーは各提案が次の段階に移動できるかどうかを決定するために投票します。各提案には4つのステージがあります。提案がステージ4に達すると、次のESバージョンに含まれる予定です。 ES仕様の重要な部分は、後方互換でなければならないことです。これは、以前のESバージョンの実行方法を変更して、「インターネットを破る」ことができる新しい機能がないことを意味します。したがって、既存のメソッドの動作を変更することはできません。潜在的に既存のメソッドを使用するWebサイトはクラッシュのリスクにさらされる可能性があるため、新しい方法のみを追加できます。現在のすべての提案の完全なリストは、ここで見ることができます。
時間
2022年のJSステータス調査では、「JavaScriptは現時点で最も不足していると思いますか?」これにより、一時的な提案が出現しました。これは、日付オブジェクトを置き換える標準的なグローバルオブジェクトを提供し、JavaScript開発者が長年にわたって日付に対処する際に遭遇した多くの問題を修正しました。 JavaScriptの日付は、ほとんどの場合、微妙ではあるが迷惑な違いに対処する必要がありますが、月の日数は1から始まります。日付の困難により、Moment、Day.js、Date-FNSなどの人気のあるライブラリがこれらの問題を解決しようとしています。ただし、時間APIは、すべての問題をネイティブに修正するように設計されています。 Tuperalは、複数のタイムゾーンと非グレゴリオカレンダーを箱から出してサポートし、文字列からの解析日を簡単にするための使いやすいAPIを提供します。さらに、すべての時間オブジェクトは不変であり、予期しない日付の変更エラーを回避するのに役立ちます。時間APIによって提供される最も有用な方法のいくつかを見てみましょう。 Temporal.Now.Instant()
:NanoSecondsに正確なDateTimeオブジェクトを返します。 from
メソッドを使用して、特定の日付を指定できます。
PlainDate()
:日付と時間のない日付オブジェクトを作成できます。
PlainTime()
:PlainDate()
で補完されると、時間と日付のない時間オブジェクトを作成できます。
PlainMonthDay()
:PlainDate
に似ていますが、月と日付のみを返し、年の情報はありません。
PlainYearMonth()
同様に、年と月のみを返すPlainYearMonth
があります。
計算:さまざまな時間単位の追加や減算など、時間オブジェクトを使用して多くの計算を実行できます。 until
およびsince
メソッドにより、日付までまたは発生してからの時間を見つけることができます。
その他の機能:日付オブジェクトから数年、月、日付、および時間、数分、秒、ミリ秒、マイクロ秒、および時間オブジェクトからナノ秒を抽出できます。一時的な日付オブジェクトには、さまざまなソートアルゴリズムを使用して日付を並べ替えるために使用できるcompare
メソッドもあります。
Tuperalは現在、ブラウザーメーカーによって実装されているフェーズ3の提案であるため、その時代は熟しているように見えます。ここで完全なドキュメントを表示できます。ここには、有用なユースケースのレシピもあります。 Intl.DateTimeFormat
APIと組み合わせると、非常に賢い日付操作を実行できます。
パイプオペレーター
2022年のJSステータス調査では、「JavaScriptは現時点で最も欠けていると思いますか?」パイプラインオペレーターの提案はこちらでご覧いただけます。パイプ演算子は、関数言語の標準機能であり、ある関数から別の関数に値を「パイプ」することができ、以前の関数の出力は次の関数への入力として使用されます。
パイプラインオペレーターは、チェーンコールの容易さを組み合わせていますが、記述した機能とともに使用できます。唯一の条件は、1つの関数の出力タイプがチェーン内の次の関数の入力タイプと一致することを確認する必要があることです。パイプラインオペレーターは、以前の関数の返品値から渡される単一のパラメーターのみを受け入れるカレー関数に最適です。小型のビルディングブロック機能をリンクしてより複雑な複合関数を作成できるため、機能的なプログラミングが容易になります。また、一部のアプリケーションが実装しやすくなります。
レコードとタプル
記録とタプルの提案は、不変のデータ構造をJavaScriptに導入するように設計されています。タプルは、値のアレイ(ソルトリストのリスト)に似ていますが、詳細に不変です。これは、タプル内の各値が元の値、別のレコード、またはタプルでなければならないことを意味します(JavaScriptでは変異できるため、配列やオブジェクトではありません)。レコードは、キーと価値のペアのコレクションに似ていますが、深さは不変です。
タプルとレコードの不変性は、===
オペレーターを使用して簡単に比較できることを意味します。
正規表現 /v flag
バージョン3以来、正規表現がJavaScriptに組み込まれており、それ以来多くの改善が行われています(例:ES2015のUフラグを使用したUnicodeサポート)。 V-Flagの提案は、U-Flagによって実行されるすべての操作を実行するように設計されていますが、追加の利点も追加されています。 /vフラグは、無感覚な場合にuフラグの問題のいくつかを解決し、ほとんどすべての場合に適した選択肢になります。正規表現の /Vフラグは、2023年にフェーズ4に達し、すべての主要なブラウザーに実装されているため、ES2024仕様の一部になると予想されます。
デコレーター
デコレーターの提案は、デコレーターを使用してJavaScriptクラスをネイティブに拡張することを目的としています。デコレーターは、Pythonなどの多くのオブジェクト指向言語ですでに一般的であり、すでにTypeScriptに含まれています。これらは、構造を変更せずに関数またはクラスに追加の機能を追加できる標準メタプログラムの抽象化です。この提案には、いくつかの構文砂糖が追加されているため、クラスへのバインディングthis
を考慮せずにクラスにデコレーターを簡単に実装できます。クラスフィールド、クラスメソッド、クラスアクセターなどのクラス要素を拡張するためのより明確な方法を提供し、クラス全体にも適用できます。
結論
これらの機能はすべてJavaScriptに追加されるので、今年はそれらを含めることができるかどうかを見てみましょう!
以上が2024年の5つのエキサイティングな新しいJavaScript機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。