文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ES6新增语法—let、const、var的区别

2024-12-03 01:19

关注

ES6与JavaScript的关系:

ES6是JavaScript的规范标准,JavaScript是ES6的一种实现。

变量/赋值

块级作用域{}

ES5中作用域有:全局作用域、函数作用域,没有块作用域的概念。ES6新增了块级作用域,块作用域由{}包括,if语句里面的{}也属于块级作用域。

//通过定义的变量可以跨块作用域访问到

  1. //通过定义的变量可以跨块作用域访问到 
  2.   var a = 12; 
  3.   console.log("a",a) 
  4. console.log("a",a) 
  5.  
  6. //通过var定义的变量不能通过跨函数作用域访问到 
  7. (function(){ 
  8.   var b = 5; 
  9. })() 
  10. console.log("b",b) // not defined 

 var 与let和const区别:

const定义的对象属性是否可以改变?

实例:修改对象的属性值。

  1. const per = { 
  2.   name:'倩倩' 
  3. per.name = "我是嘻哈" 
  4. console.log("per.name",per.name) //打印出我是嘻哈 

通过上个实例,我们发现对象的属性是可以修改的,这是什么原因呢?

对象是引用类型的,per中保存的仅是对象的指针,意味着指针不会发生改变,修改对象的属性不会改变对象的指针,所以是允许修改的。

赋值:新增解构赋值,就是对数据拆解并赋值。解构赋值的两个规则:

左右两边模式必须一致

必须让定义和赋值同步完成。

实例:正确的结构赋值

  1. let [a,b,c] = [1,2,3] 
  2. console.log("a",a)//1 
  3. console.log("b",b)//2 
  4. console.log("c",c)//3 

实例:左右两边模式一致,数据长短不同时

  1. let [bar, foo] = [1]; 
  2. console.log("bar",bar)//1 
  3. console.log("foo",foo) // undefined 

上述解构不成功,变量值等于undefined。

注意:对象也是可以解构的,但是需要注意的是对象和数组的解构有很大的区别,对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

  1. let { bar,foo } = { 
  2.   foo:'aaa'
  3.   bar:'bbb' 
  4. console.log('bar',bar) 
  5. console.log('foo',foo) 
  6. console.log('baz',baz) // not defined 

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯