es6及原生js一些总结
'use strict'; if(true) { console.log(x); // ReferenceError let x = 'hello'; }
- 上面代码如果使用
var
替代let
,console.log
那一行就不会报错,而是会输出undefined
,因为变量声明提升到代码块的头部。这违反了变量先声明后使用的原则 -
在
let
和const
之间,建议优先使用const
,尤其是在全局环境,不应该设置变量,只应设置常量。const
优于let
有几个原因。
-
一个是
const
可以提醒阅读程序的人,这个变量不应该改变; -
另一个是
const
比较符合函数式编程思想,运算不改变值,只是新建值,而且这样也有利于将来的分布式运算; -
最后一个原因是 JavaScript 编译器会对
const
进行优化,所以多使用const
,有利于提供程序的运行效率,也就是说let
和const
的本质区别,其实是编译器内部的处理不同。
如若喜欢,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错请点击下右下角的推荐,有了您的支持才能激发作者更大的写作热情,非常感谢!