JS-part12.2-ES6定义变量

JavaScriptES6ES6定义变量let/const 和 var 的区别let 和 const 的区别变量的块级作用域案例: 选项卡ES6ES6: + 官方名称叫做 ES2015 + 语法层面的更新 => 原先: var a => ES6: let a + 我们书写代码: => 不需要考虑语法层面的兼容 => ES6 转换 ES5 的工具叫做 babelbabel中文官网ES6定义变量let/const 和 var 的区别
摘要由CSDN通过智能技术生成

前言

ES6:
  + 官方名称叫做 ES2015
  + 语法层面的更新
    => 原先: var a
    => ES6: let a
  + 我们书写代码:
    => 不需要考虑语法层面的兼容
    => ES6 转换 ES5 的工具叫做 babel

babel中文官网

ES6定义变量

let/const 和 var 的区别

let/const 一起和 var 的区别:
  1. var 会进行预解析
    => let/const 不会进行预解析, 必须先定义后使用
  2. var 可以声明重复的变量名
    => let/const 不能声明重复的变量名
  3. var 没有块级作用域
    => let/const 有块级作用域


块级作用域
  + 被代码块限制变量的使用范围
  + var: 只有函数私有作用域才能限制使用范围
  + let/const: 只要是能书写代码段的 {} 都能限制使用范围
// let/const 和 var 的区别
// 1. 预解析
// console.log(a)   // undefined
// var a = 100
// console.log(a)   // 100

// 使用在定义之前会报错
console.log(a)   // Uncaught ReferenceError: Cannot access 'a' before initialization
let a = 100
// const a = 100
console.log(a)   // 先定义完后使用是没问题的 100
// let/const 和 var 的区别
// 2. 重复变量名
// var num = 100
// var num = 200
// console.log(num)   // 200

// 不能重名
let num = 100
console.log(num)    // Uncaught SyntaxError: Identifier 'num' has already been declared
let num = 200

const num = 200
console.log(num)
const num  = 300    // Uncaught SyntaxError: Identifier 'num' has already been declared
// let/const 和 var 的区别
// 3. 块级作用域
// if(true){
   
//     // 全局变量
//     var num &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值