标签:代码解析 art ali 原理 code syn 好处 vue cee
- let 和 const的区别就是,let声明为变量
const声明为常量,就是在后面不可以去更改其值,否则会报错。
const B = 1;
B = 2; // Uncaught TypeError: Assignment to constant variable.
- let和var的区别: let存在块级作用域,而var只有全局作用域,和在函数内形成局部的作用域,不存在块级作用域。(关于作用域课一详细的看看《Javascript高级程设计)。
原理:在js代码执行之前至少要经过一个步骤,js代码解析,在解析的时候,js引擎就拿着个小本本记下来声明了哪些变量,你可以认为使用let声明的,就不让它在声明前使用(《ES6标准入门》一书中let变量声明之前的区域叫做暂时性死区,也就是你不能在这个区域使用这个变量)。使用var声明的,可以让你在申明前使用。
console.log(name);// Uncaught ReferenceError: Cannot access ‘B‘ before initialization
let name = "Bob";
- 常见块级作用
可以笼统的认为块级作用域有以下形式
- 函数内部
- 块中字符串 () {}
(let i = 1)
{
}
for(let i = 0; i < nums.length;++i) {}
function() {
let name = ""
}
- 使用let和const申明的好处注意点
- 同一个作用域下可以防止重复声明
- const声明必须同时初始化,否则报错 (Uncaught SyntaxError: Missing initializer in const declaration)
let和const作为ES5中退出解决var所带来的的问题,在编程中全部使用let和const来编程,可以减少很多不必要的错误。
- 《ES标准入门》
- 《Vue.js从入门到实战》
标签:代码解析 art ali 原理 code syn 好处 vue cee
原文地址:https://www.cnblogs.com/rookie123/p/14672796.html