Есть ли константы в JavaScript? - PullRequest
       126

Есть ли константы в JavaScript?

1106 голосов
/ 25 сентября 2008

Есть ли способ использовать константы в JavaScript?

Если нет, какова общая практика определения переменных, которые используются в качестве констант?

Ответы [ 33 ]

2 голосов
/ 05 ноября 2012

Rhino.js реализует const в дополнение к тому, что было упомянуто выше.

0 голосов
/ 30 июня 2018

Объявите постоянное имя только для чтения.

Переменные, объявленные через const, не могут быть повторно объявлены или переназначены.

Константы могут быть объявлены в верхнем или нижнем регистре, но обычно Соглашение состоит в том, чтобы использовать заглавные буквы.

// const c;
// c = 9;   //intialization and declearation at same place
const c = 9;
// const c = 9;// re-declare and initialization is not possible
console.log(c);//9
0 голосов
/ 01 мая 2015

Checkout https://www.npmjs.com/package/constjs,, который предоставляет три функции для создания enum, string const и bitmap. Возвращаемый результат либо заморожен , либо запечатан , поэтому вы не можете изменять / удалять свойства после их создания, вы также не можете добавлять новые свойства в возвращаемый результат

создать Enum:

var ConstJs = require('constjs');

var Colors = ConstJs.enum("blue red");

var myColor = Colors.blue;

console.log(myColor.isBlue()); // output true 
console.log(myColor.is('blue')); // output true 
console.log(myColor.is('BLUE')); // output true 
console.log(myColor.is(0)); // output true 
console.log(myColor.is(Colors.blue)); // output true 

console.log(myColor.isRed()); // output false 
console.log(myColor.is('red')); // output false 

console.log(myColor._id); // output blue 
console.log(myColor.name()); // output blue 
console.log(myColor.toString()); // output blue 

// See how CamelCase is used to generate the isXxx() functions 
var AppMode = ConstJs.enum('SIGN_UP, LOG_IN, FORGOT_PASSWORD');
var curMode = AppMode.LOG_IN;

console.log(curMode.isLogIn()); // output true 
console.log(curMode.isSignUp()); // output false 
console.log(curMode.isForgotPassword()); // output false 

Создать строку const:

var ConstJs = require('constjs');

var Weekdays = ConstJs.const("Mon, Tue, Wed");
console.log(Weekdays); // output {Mon: 'Mon', Tue: 'Tue', Wed: 'Wed'} 

var today = Weekdays.Wed;
console.log(today); // output: 'Wed'; 

Создать растровое изображение:

var ConstJs = require('constjs');

var ColorFlags = ConstJs.bitmap("blue red");
console.log(ColorFlags.blue); // output false 

var StyleFlags = ConstJs.bitmap(true, "rustic model minimalist");
console.log(StyleFlags.rustic); // output true 

var CityFlags = ConstJs.bitmap({Chengdu: true, Sydney: false});
console.log(CityFlags.Chengdu); //output true 
console.log(CityFlags.Sydney); // output false 

var DayFlags = ConstJs.bitmap(true, {Mon: false, Tue: true});
console.log(DayFlags.Mon); // output false. Default val wont override specified val if the type is boolean  

Для получения дополнительной информации, пожалуйста, проверьте

Отказ от ответственности: я являюсь автором этого инструмента.

...