扫码关注官方订阅号
JavaScript ES6中var、let、const分别什么时候使用?
业精于勤,荒于嬉;行成于思,毁于随。
const一般在require一个模块的时候用或者定义一些全局常量。而let是限制了变量的作用域,保证变量不会去污染全局变量。所以尽量将var改为用let。
const一旦定义,无法更改,let定义块级变量,他们都是无法重复声明的,会报错,而var可以覆盖之前的声明
赋值之后不会再做修改了就用const,如果后边还会修改就用let,不建议使用var了
const
let
var
const 常量let 变量,块作用域,不能重复声明覆盖var 变量,函数作用域,能重复声明覆盖
这是我做的笔记,把一个个注释解开封印,然后看下控制台报错信息,能加深了解。
"use strict"; // error:Block-scoped declarations (let, const, function, class) not yet supported outside strict mode,一些ES6里声明的方法必须在严格模式上才能使用,不然会报此错误 const a=1; // const a=2; // error:Identifier 'a' has already been declared // a=2; // error:Assignment to constant variable. // 【const是常数变量,即一般在require一个模块的时候用或者定义一些全局常量,一旦定义,无法更改,无法重复赋值】 document.write('a: '+a+'<br />'); let b=1; // let a=2; // error:Identifier 'a' has already been declared // 【let 变量,块作用域,不能重复声明覆盖,限制了变量的作用域,保证变量不会去污染全局变量,所以尽量将var改为用let。】 b=2; document.write('b: '+b+'<br />'); var c=1; var c=2; c=3; document.write('c: '+c);
不过用了之后要了解下严格模式下的写法,要不然一个坑接着一个坑,偏偏还在填完一个坑之后乐一下继续填下一个坑,为什么不选择一次跳过一大块坑,让以后出现的坑少一点呢✧(≖ ◡ ≖✿)
let、const在任何情况下都优于var
const一旦定义就不可改变
大部分情况下const的出场率比let高很多,所以一般建议默认使用const,除非一定要改变变量的值,再使用let。
es6里面不建议使用var了,因为var定义的变量没有块级作用域,还会出现变量提升的情况,这样经常会导致你意想不到的错误,而let就不会这样,const是定义那些不可以被重新赋值的变量,let是定义普通的变量。
能用 const 优先用 const,const 的特点只一但定义就不可变更(仅指不能重新赋值)不能用 const 优先用 let,最直观的,let 可以避免一些 for 循环+闭包的问题剩下的用 var
http://www.cnblogs.com/ziyunf... 搬运工
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
const一般在require一个模块的时候用或者定义一些全局常量。而let是限制了变量的作用域,保证变量不会去污染全局变量。所以尽量将var改为用let。
const一旦定义,无法更改,let定义块级变量,他们都是无法重复声明的,会报错,而var可以覆盖之前的声明
赋值之后不会再做修改了就用
const,如果后边还会修改就用let,不建议使用var了const 常量
let 变量,块作用域,不能重复声明覆盖
var 变量,函数作用域,能重复声明覆盖
这是我做的笔记,把一个个注释解开封印,然后看下控制台报错信息,能加深了解。
不过用了之后要了解下严格模式下的写法,要不然一个坑接着一个坑,偏偏还在填完一个坑之后乐一下继续填下一个坑,为什么不选择一次跳过一大块坑,让以后出现的坑少一点呢✧(≖ ◡ ≖✿)
let、const在任何情况下都优于varconst一旦定义就不可改变大部分情况下
const的出场率比let高很多,所以一般建议默认使用const,除非一定要改变变量的值,再使用let。es6里面不建议使用var了,因为var定义的变量没有块级作用域,还会出现变量提升的情况,这样经常会导致你意想不到的错误,而let就不会这样,const是定义那些不可以被重新赋值的变量,let是定义普通的变量。
能用 const 优先用 const,const 的特点只一但定义就不可变更(仅指不能重新赋值)
不能用 const 优先用 let,最直观的,let 可以避免一些 for 循环+闭包的问题
剩下的用 var
http://www.cnblogs.com/ziyunf... 搬运工