是否可以在JavaScript中创建枚举值并将它们分配给整数值,类似于其他语言。例如,在C#中,我以以下方式声明枚举:
enum WeekDays
{
Monday = 0,
Tuesday =1,
Wednesday = 2,
Thursday = 3,
Friday = 4,
Saturday =5,
Sunday = 6
}
是否可以在JavaScript中创建枚举值并将它们分配给整数值,类似于其他语言。例如,在C#中,我以以下方式声明枚举:
enum WeekDays
{
Monday = 0,
Tuesday =1,
Wednesday = 2,
Thursday = 3,
Friday = 4,
Saturday =5,
Sunday = 6
}
您可以像下面的例子一样将对象冻结后将其用作枚举:
const WeekDays = Object.freeze({
Monday: 0,
Tuesday: 1,
Wednesday: 2,
Thursday: 3,
Friday: 4,
Saturday: 5,
Sunday: 6
})
module.exports
导出它:// days.js
module.exports = {
Monday: 0,
Tuesday: 1,
Wednesday: 2,
Thursday: 3,
Friday: 4,
Saturday: 5,
Sunday: 6
}
// file-where-you-want-to-use.js
const DAYS = require('./days.js');
console.log(DAYS.Monday);
const WeekDays = {
Monday: 0,
Tuesday: 1,
Wednesday: 2,
Thursday: 3,
Friday: 4,
Saturday: 5,
Sunday: 6
}
const day1 = WeekDays.Monday;
const day2 = WeekDays.Tuesday;
console.log(day1, day2, day1 === day2);
console.log(day1 === WeekDays.Monday, day2 === WeekDays.Tuesday);
要添加一些你想使用的变量:
// days.js
module.exports = {
Monday: 0,
Tuesday: 1,
Wednesday: 2,
Thursday: 3,
Friday: 4,
Saturday: 5,
Sunday: 6
}
// file-where-you-want-to-use.js
const DAYS = require('./days.js');
const firstDayOfWeek = 'Monday';
console.log((DAYS)[firstDayOfWeek]); // 0