ES5用var声明变量时有一些缺陷,ES6新增了let声明变量的标识符,const常量来弥补var的不足
一,let的特性
1,与var类似,但没有隐式提前-若没有声明,不能先访问变量
console.log(a)
let a=10
2,只能在let声明的代码块内使用
for(let a=0;a<10;a++){
console.log(a)
}
console.log(a)
3,不能重复声明
let a=100;
let a=200;
二,const
1,具有let的所有特性
2,不能再次赋值
const a=100
a++
console.log(a+1)
3,必须在声明时初始化
const a;
4,暂时性死区
var PI="a"
if(true){
console.log(PI)
const PI=3.21
}
三,浏览器的另一不足-->在if的代码块中的变量声明()
console.log(a)
console.log(fn)
if(true){
var a=100
function fn(){}
}
console.log(a)
console.log(fn)
if(false){
var a=100
function fn(){}
}
四,严格模式下 --->if里面尽量使用let声明变量
"use strict"
console.log(a)
console.log(fn)
if(false){
var a=100
function fn(){}
}
"use strict"
console.log(a)
console.log(fn)
if(true){
var a=100
function fn(){}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律