Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
555 views
in Technique[技术] by (71.8m points)

javascript - JavaScript中的常量:什么时候使用它,有必要吗?(Const in JavaScript: when to use it and is it necessary?)

I've recently come across the const keyword in JavaScript.(我最近在JavaScript中遇到了const关键字。)

From what I can tell, it is used to create immutable variables , and I've tested to ensure that it cannot be redefined (in Node.js):(据我所知,它用于创建不可变变量 ,并且我已进行测试以确保不能重新定义它(在Node.js中):) const x = 'const'; const x = 'not-const'; // Will give an error: 'constant 'x' has already been defined' I realise that it is not yet standardized across all browsers - but I'm only interested in the context of Node.js V8 , and I've noticed that certain developers / projects seem to favor it heavily when the var keyword could be used to the same effect.(我意识到它尚未在所有浏览器上实现标准化-但是我只对Node.js V8感兴趣,并且我注意到某些开发人员/项目似乎在使用var关键字时非常喜欢它。同样的效果。) So my questions are:(所以我的问题是:) When is it appropriate to use const in place of var ?(什么时候使用const代替var合适?) Should it be used every time a variable which is not going to be re-assigned is declared?(是否应该在每次声明一个不会被重新分配的变量时使用它?) Does it actually make any difference if var is used in place of const or vice-versa?(如果使用var代替const ,实际上有什么区别呢?反之亦然?)   ask by axdg translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There are two aspects to your questions: what are the technical aspects of using const instead of var and what are the human-related aspects of doing so.(您的问题有两个方面:使用const而不是var的技术方面是什么,以及与人相关的方面是什么。)

The technical difference is significant.(技术差异很大。) In compiled languages, a constant will be replaced at compile-time and its use will allow for other optimizations like dead code removal to further increase the runtime efficiency of the code.(在编译语言中,常量将在编译时被替换,并且常量的使用将允许其他优化(如删除无效代码)以进一步提高代码的运行效率。) Recent (loosely used term) JavaScript engines actually compile JS code to get better performance, so using the const keyword would inform them that the optimizations described above are possible and should be done.(最近的(松散使用的术语)JavaScript引擎实际上会编译JS代码以获得更好的性能,因此使用const关键字将告知它们上述优化是可能的,应该进行。) This results in better performance.(这导致更好的性能。) The human-related aspect is about the semantics of the keyword.(与人有关的方面与关键字的语义有关。) A variable is a data structure that contains information that is expected to change.(变量是一种数据结构,其中包含预期会更改的信息。) A constant is a data structure that contains information that will never change.(常数是一种数据结构,其中包含永远不变的信息。) If there is room for error, var should always be used.(如果有错误的余地,则应始终使用var 。) However, not all information that never changes in the lifetime of a program needs to be declared with const .(但是,并非所有在程序生存期内从未改变的信息都需要使用const声明。) If under different circumstances the information should change, use var to indicate that, even if the actual change doesn't appear in your code.(如果在不同的情况下信息应该更改,则即使实际更改未出现在代码中,也请使用var进行指示。)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...