JavaScript中的const关键字:

JavaScript中的const关键字:,javascript,global-variables,constants,Javascript,Global Variables,Constants,今天(2014年)是否建议使用const关键字在JavaScript中声明常量?是否仍存在浏览器兼容性问题?还有,有没有一种方法可以声明一个全局常量 注:这个问题不是重复的,我问的是2014年的问题。Stack Overflow中的其他帖子可以追溯到2008-2012年,截至2014年6月,MDN表示: const的当前实现是一个特定于Mozilla的扩展 并且不是ECMAScript 5的一部分。Firefox和Chrome都支持它 (V8)。从Safari 5.1.7和Opera 12.00

今天(2014年)是否建议使用const关键字在JavaScript中声明常量?是否仍存在浏览器兼容性问题?还有,有没有一种方法可以声明一个全局常量


注:这个问题不是重复的,我问的是2014年的问题。Stack Overflow中的其他帖子可以追溯到2008-2012年,截至2014年6月,MDN表示:

const的当前实现是一个特定于Mozilla的扩展 并且不是ECMAScript 5的一部分。Firefox和Chrome都支持它 (V8)。从Safari 5.1.7和Opera 12.00开始,如果您定义了一个变量 在这些浏览器中使用const,以后仍然可以更改其值。信息技术 Internet Explorer 6-10不支持,但包含在中 Internet Explorer 11。const关键字当前声明 函数范围中的常量(如用var声明的变量)

Firefox,至少从版本13开始,如果您 重新声明一个常数。没有一个主要的浏览器会产生任何通知 如果为常数指定了另一个值,则会出现错误。返回值 这种操作的作用是指分配的新值,但 重新分配仅在Firefox和Chrome中不成功(至少 自第20版起)

常量将由ECMAScript 6定义,但使用不同的 语义学。与let语句声明的变量类似, 用const声明的常量将是块作用域


参考资料

截至2014年6月,MDN表示:

const的当前实现是一个特定于Mozilla的扩展 并且不是ECMAScript 5的一部分。Firefox和Chrome都支持它 (V8)。从Safari 5.1.7和Opera 12.00开始,如果您定义了一个变量 在这些浏览器中使用const,以后仍然可以更改其值。信息技术 Internet Explorer 6-10不支持,但包含在中 Internet Explorer 11。const关键字当前声明 函数范围中的常量(如用var声明的变量)

Firefox,至少从版本13开始,如果您 重新声明一个常数。没有一个主要的浏览器会产生任何通知 如果为常数指定了另一个值,则会出现错误。返回值 这种操作的作用是指分配的新值,但 重新分配仅在Firefox和Chrome中不成功(至少 自第20版起)

常量将由ECMAScript 6定义,但使用不同的 语义学。与let语句声明的变量类似, 用const声明的常量将是块作用域


参考资料

截至2014年6月,MDN表示:

const的当前实现是一个特定于Mozilla的扩展 并且不是ECMAScript 5的一部分。Firefox和Chrome都支持它 (V8)。从Safari 5.1.7和Opera 12.00开始,如果您定义了一个变量 在这些浏览器中使用const,以后仍然可以更改其值。信息技术 Internet Explorer 6-10不支持,但包含在中 Internet Explorer 11。const关键字当前声明 函数范围中的常量(如用var声明的变量)

Firefox,至少从版本13开始,如果您 重新声明一个常数。没有一个主要的浏览器会产生任何通知 如果为常数指定了另一个值,则会出现错误。返回值 这种操作的作用是指分配的新值,但 重新分配仅在Firefox和Chrome中不成功(至少 自第20版起)

常量将由ECMAScript 6定义,但使用不同的 语义学。与let语句声明的变量类似, 用const声明的常量将是块作用域


参考资料

截至2014年6月,MDN表示:

const的当前实现是一个特定于Mozilla的扩展 并且不是ECMAScript 5的一部分。Firefox和Chrome都支持它 (V8)。从Safari 5.1.7和Opera 12.00开始,如果您定义了一个变量 在这些浏览器中使用const,以后仍然可以更改其值。信息技术 Internet Explorer 6-10不支持,但包含在中 Internet Explorer 11。const关键字当前声明 函数范围中的常量(如用var声明的变量)

Firefox,至少从版本13开始,如果您 重新声明一个常数。没有一个主要的浏览器会产生任何通知 如果为常数指定了另一个值,则会出现错误。返回值 这种操作的作用是指分配的新值,但 重新分配仅在Firefox和Chrome中不成功(至少 自第20版起)

常量将由ECMAScript 6定义,但使用不同的 语义学。与let语句声明的变量类似, 用const声明的常量将是块作用域


参考

const
是在JavaScript 1.5中引入的,是一个特定于Mozilla的扩展,而不是ECMAScript 5的一部分

然而,ES6草案引入了一个不同的
const
。与使用
let
语句声明的变量类似,使用
const
声明的常量将在块范围内

所以基本上:

  • 一些浏览器实现了旧的非标准方式
  • 其他浏览器允许使用
    const
    声明的变量在以后更改其值
  • 其他浏览器根本没有实现它
  • 目前没有浏览器(AFAIK)实现ES6方式

请参阅。

const
是在JavaScript 1.5中引入的,是特定于Mozilla的扩展,而不是ECMAScript 5的一部分

然而,ES6草案引入了一个不同的
const
。与使用
let
语句声明的变量类似,使用
const
声明的常量将在块范围内

所以基本上:

  • 一些浏览器实现了旧的非标准方式
  • 其他浏览器允许使用
    const
    声明的变量在以后更改其值
  • 其他浏览器没有