JS の「ハッキング」: 列挙型
4920 ワード
こんにちは、2021 年です。Typescript を使用して深刻な列挙型ロジックを提供できるのに、JS で「偽の」列挙型を使用する必要があるのはなぜですか?
ええ、私たちは完璧な生活を送っているわけではなく、何らかの理由で JS に固執しなければならないこともあります. JS を使用する場合でも、できるだけクリーンなコードを作成するように努める必要があります.列挙型は、一定数の固定値を持つ変数を定義する必要がある場合に非常に役立ちます.次に、読みやすさを向上させます.例えば:
let color = "red"
switch (color) {
case "blue":
console.log("It's blue")
break
case "red":
console.log("It's red")
break
case "purple":
console.log("It's purple")
break
}
いくつかの有用な知識があれば、それをよりクリーンなコードに変換できます.
const colors = {
BLUE: "blue",
RED: "red",
PURPLE: "purple"
}
Object.freeze(colors)
let color = colors.PURPLE
switch (color) {
case colors.BLUE:
console.log("It's blue")
break
case colors.RED:
console.log("It's red")
break
case colors.PURPLE:
console.log("It's purple")
break
}
Object.freeze + const = JS 列挙型を作成するための強力なデュオ!
Object.freeze - このメソッドはオブジェクトをフリーズします.これは、JS で enum を取得する最も便利な方法です.フリーズすると、プロパティの変更と、目標である列挙型の変更が防止されます.このトピックの詳細はこちら:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
Const - 変数がオーバーライドされないことを提供します.
列挙型は非常に便利で、それらを使用すると、コードの可読性が大幅に向上すると思います.
JS コードは次の場所で提供されます.
https://jsfiddle.net/x79g6zuq/8/
Reference
この問題について(JS の「ハッキング」: 列挙型), 我々は、より多くの情報をここで見つけました
https://dev.to/devobry/hacking-in-js-enums-p7n
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
let color = "red"
switch (color) {
case "blue":
console.log("It's blue")
break
case "red":
console.log("It's red")
break
case "purple":
console.log("It's purple")
break
}
const colors = {
BLUE: "blue",
RED: "red",
PURPLE: "purple"
}
Object.freeze(colors)
let color = colors.PURPLE
switch (color) {
case colors.BLUE:
console.log("It's blue")
break
case colors.RED:
console.log("It's red")
break
case colors.PURPLE:
console.log("It's purple")
break
}
Reference
この問題について(JS の「ハッキング」: 列挙型), 我々は、より多くの情報をここで見つけました https://dev.to/devobry/hacking-in-js-enums-p7nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol