What would be the preferred way to create constants in javascript, specifically with ES6?

Currently I have a constants class which has methods that return the string I'm looking for.

 class Constants {
    constructor() {}

       return 'someconstant';

For backwards compatibility, I would create a read-only property of the encapsulating object, which could be the global object:

Object.defineProperty(this, 'CONST', {
  value: 123,
  writable: false

See: Object.defineProperty - writable attribute

Otherwise, ES6 has a const keyword.

const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];

See const.

| improve this answer | |
  • My understanding with the const keyword is that it can only be used in local scope. I should have clarified I need the constants scoped globally. – Beanwah May 28 '15 at 21:26
  • Local or global. It's block scoped, I think. – svidgen May 29 '15 at 0:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.