为了账号安全,请及时绑定邮箱和手机立即绑定

在JavaScript中的Const?何时使用它是必要的

在JavaScript中的Const?何时使用它是必要的

千巷猫影 2019-08-23 16:37:07
在JavaScript中的Const?何时使用它是必要的我最近在javascript中遇到了const关键字。据我所知,它用于创建不可变变量,我已经测试过以确保它不能重新定义(在node.js中):const x = 'const';const x = 'not-const';// Will give an error: 'constant 'x' has already been defined'我意识到它还没有在所有浏览器中标准化 - 但我只对node.js / v8的上下文感兴趣,并且我注意到当使用var关键字时,某些开发人员/项目似乎非常喜欢它达到同样的效果。问题?何时使用const代替var?是否应该在每次声明不会重新分配的变量时使用它?如果使用var代替const,反之亦然,它实际上是否有任何区别?
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

您的问题有两个方面:使用的技术方面是什么,const而不是var与人类相关的方面是什么。

技术差异很大。在编译语言中,常量将在编译时被替换,并且它的使用将允许其他优化(如死代码删除)以进一步提高代码的运行时效率。最近(松散使用的术语)JavaScript引擎实际上编译JS代码以获得更好的性能,因此使用const关键字将告知它们上述优化是可能的并且应该完成。这导致更好的性能。

与人类相关的方面是关于关键字的语义。变量是包含预期会更改的信息的数据结构。常量是包含永不改变的信息的数据结构。如果有错误的余地,var应始终使用。但是,并非所有在程序生命周期中永远不会更改的信息都需要声明const。如果在不同情况下信息应该更改,请使用var以指示即使实际更改未出现在您的代码中。


查看完整回答
反对 回复 2019-08-23
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

var:声明一个变量,值初始化可选。


let:使用块作用域声明局部变量。


const:声明一个只读的命名常量。


例如:


var a;

a = 1;

a = 2;//re-initialize possible

var a = 3;//re-declare

console.log(a);//3


let b;

b = 5;

b = 6;//re-initiliaze possible

// let b = 7; //re-declare not possible

console.log(b);


// const c;

// c = 9;   //initialization and declaration at same place

const c = 9;

// const c = 9;// re-declare and initialization is not possible

console.log(c);//9

// NOTE: Constants can be declared with uppercase or lowercase, but a common

// convention is to use all-uppercase letters.


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 1365 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信