Enum

Enumeration class. Each enum propertiy has the properties "ordinal", "name" and "text".

2019/11/03のページです。最新版はこちら

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greasyfork.org/scripts/391854/746337/Enum.js

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
作者
Gerrit
バージョン
0.2
作成日
2019/11/01
更新日
2019/11/03
大きさ
2.49KB
ライセンス
不明

Usage Examples


const COLORS = class COLOR extends Enum {}.init({ 
    "RED": "red" ,
    "GREEN": "green" , 
    "BLUE": "blue"
});
console.log(COLORS[0] === COLORS.RED);   // "true"
console.log(COLORS[1] === COLORS.GREEN); // "true"
console.log(COLORS[2] === COLORS.BLUE);  // "true"

console.log(COLORS.GREEN.name);       // "GREEN"
console.log(COLORS.GREEN.text);       // "green"
console.assert(COLORS.GREEN.ordinal); // "1"

console.assert(COLORS.GREEN + ""); // "green"
console.assert(COLORS.GREEN * 1);  // "1"



class COLOR extends Enum {};
COLOR.init([ "RED", "GREEN", "BLUE" ]);

console.log(COLOR[2].name)            // "BLUE"
console.log(COLOR[2].text);           // ""
console.log(COLOR[2].ordinal);        // "2"

console.log(COLOR[2] === COLOR.BLUE); // "true"

console.log(COLOR.BLUE + "");         // "BLUE"
console.log(COLOR.BLUE * 1);          // "2"



class FLAGS extends Enum {};
FLAGS.init([ "FIRST", "SECOND", "THIRD", "FOURTH"], 1, ord => ord<<1);

console.log(FLAGS.FOURTH | FLAGS.SECOND); // "10"