JS で列挙をシミュレートする方法

JS で列挙をシミュレートする方法

序文

現在の JavaScript には列挙の概念がありません。一部のシナリオでは、列挙を使用するとデータの正確性をより確実にし、データ検証プロセスを削減できます。以下では、JavaScript で列挙効果をシミュレートする方法を紹介します。

列挙の主な特徴

  • 列挙値は繰り返すことができません
  • 変更できません

成し遂げる

日々を過ごす;
(関数 (日数) {
    days[days["Sunday"] = 0] = "日曜日";
    days[days["Monday"] = 1] = "月曜日";
    days[days["Tuesday"] = 2] = "火曜日";
    days[days["水曜日"] = 3] = "水曜日";
    days[days["木曜日"] = 4] = "木曜日";
    days[days["金曜日"] = 5] = "金曜日";
    days[days["Saturday"] = 6] = "土曜日";
})(日数 || (日数 = {}));

この時点で、days オブジェクトは基本的に列挙効果を実装しています。列挙値またはインデックスを通じて days オブジェクトにアクセスできますが、列挙の重要な特徴は、変更できないことです。この時点で、days は自由に変更できます。Object.freeze 関数を使用してオブジェクトが変更されないようにし、変更不可能なオブジェクトを再エクスポートできます。完全なコードは次のとおりです。

日々を過ごす;
(関数 (日数) {
    days[days["Monday"] = 1] = "月曜日";
    days[days["Tuesday"] = 2] = "火曜日";
    days[days["水曜日"] = 3] = "水曜日";
    days[days["木曜日"] = 4] = "木曜日";
    days[days["金曜日"] = 5] = "金曜日";
    days[days["Saturday"] = 6] = "土曜日";
    days[days["Sunday"] = 0] = "日曜日";
})(日数 || (日数 = {}));

//列挙可能なオブジェクトをエクスポート export EnumWeek = Object.freeze(days)

上記は、JS を使用して列挙をシミュレートする方法の詳細です。JS の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • 例を通して js の列挙可能属性と列挙不可能属性を解析する
  • JavaScript 列挙選択 jQuery プラグイン コード例
  • JavaScript 列挙型の定義と使用法
  • Node.JSは、現在のフォルダとサブディレクトリ内のすべてのコードファイルの行数を列挙してカウントします。
  • JavaScript で Emrips アンチプライム列挙を実装するためのサンプル コード
  • JavaScript学習ノート_列挙型の簡単な実装、ポーカーアプリ
  • JS オブジェクトのプロパティ関連 (プロパティの確認、プロパティの列挙など)
  • JavaScript の列挙関数の詳細な分析
  • 列挙をエミュレートする JavaScript の簡単な例
  • JavaScript オブジェクトを列挙する関数

<<:  LinuxにPython 3.6をインストールして落とし穴を避ける

>>:  JavaScript オブジェクトを比較する 4 つの方法

推薦する

Kali Linux システムのバージョンを確認する方法

1. Kali Linuxシステムのバージョンを確認するコマンド: cat /etc/issue 2...

Linux環境でOpenSSL証明書を生成する

1. 環境: CentOS7、OpenSSL1.1.1k。 2. コンセプト:ルート証明書: サーバ...

MySql 8.0.16 バージョンのインストールでは、「UTF8B3」ではなく「UTF8B4」が使用されるように求められます。

MySQL 8.0.16 にインストールする場合、「UTF8B3」ではなく「UTF8B4」が使用さ...

MySQL シャーディングの詳細

1. ビジネスシナリオの紹介MySQLを使用する電子商取引システムがあるとします。大量のデータを保存...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

MySQLからMariaDBへのスムーズな移行のための詳細な手順

1. MariaDB と MySQL の紹介1. MariaDB の紹介MariaDB は、MySQ...

CSS3 でテキストマーキーを実装するためのサンプルコード

背景何が起こったかというと、Luzhu は偶然、宇宙で最高の外部スピーカーを備えた携帯電話について知...

Windows で mysql5.7.21 をインストールするための詳細なチュートリアル

この記事では、参考までにMySQL 5.7.21のインストールチュートリアルを紹介します。具体的な内...

JavaScript ES6 モジュールの詳細な説明

目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...

Java は Apache.POI を使用して HSSFWorkbook を Excel にエクスポートします

Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具...

Docker ベースの GitLab 環境をデプロイする方法と手順

注意:仮想マシンのメモリは2G以上が推奨され、 Alibaba Cloudのアクセラレーションイメー...

MySql SQL最適化のヒントの共有

ある日、内部結合を含む SQL ステートメントの実行速度はそれほど遅くはない (0.1 ~ 0.2)...

MySQLデータベースバックアップのさまざまな実装方法の概要

この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参...

クリックして展開し、全文を読む機能を実現する純粋なCSS

注記記事表示リストインターフェースを開発する場合、情報の基本的な概要を提供するために記事ヘッダーコン...

Centos サーバーで nginx を設定する方法の例

セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...