(精华)2020年6月29日 JavaScript高级篇 ES6(let,const,var)

举报
愚公搬代码 发表于 2021/10/18 23:47:45 2021/10/18
【摘要】 1. es6的背景介绍 ES6是什么? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了 和js之间的关系 ECMAScript是J...

1. es6的背景介绍

ES6是什么? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了
和js之间的关系 ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。 作用
是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。(更具模块化)

不存在变量提升

console.log(a); // undefined
var a = 123
// es6 
console.log(b);
let b = 456;
console.log(b);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

暂时性死区

//死区
var tep = 890;
 if(true){
     tep = 'abc'
     let tep
 }
 // typeof 不再是完全正确的
 console.log(typeof c);
 let c;
 //不允许重复声明
 let e = 123;
 let e = 456// 'e' has already been declared

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2 const 特殊的地方

2.1. 声明常量不能变

    const a = 123;
    a = '123'
    const b = true;
    b = false

  
 
  • 1
  • 2
  • 3
  • 4

2.2. 本质

    // 引用数据类型可以变变得是堆里面的内容 不变的是地址

    const obj = {name:'chris',age:33}
            
    console.log(obj);

    obj = {name:'Chris',age:33}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.3. 可以冻结对象

    // const foo = Object.freeze({})
    // foo.name = '大白菜'
    // console.log(foo);
    'use strict'
    const foo = Object.freeze({})
    foo.name = '大白菜'

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.4 全局的缺陷

     // new Array()
    console.log(window.Array);
    var Array = '这是数组'
    console.log(window.Array);
    
    var a = '123'
    console.log(window.a); // 123
    
    let b = '全局'
    console.log(window.b); // undefined
    // let 提出后 全局变量和顶层对象的属性 脱钩

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。

原文链接:codeboy.blog.csdn.net/article/details/107029249

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。