我希望能够从一个函数中定义一个位于全局范围内的常量。对于普通变量,可以通过在函数外部定义它并从函数内部设置其值来实现,如下所示:

var carType;

function carType(){

    carType = 'Reliant Robin';

}

但是,您不能在不设置值的情况下定义全局变量,因此这不适用于常量,是否可以解决此问题?

最佳答案

答案是"is",但这不是典型的声明,请参见下面的代码片段

function carType(){
  Object.defineProperty(window, 'carType', {
    value: 'Reliant Robin',
    configurable: false,
    writable: false
  });
}

carType();
carType = 'This is ignored'
console.log(carType);

08-15 21:05