es6的基础

一,es6简介(ECMAscript 6)
    ECMAscript 是一种标准
    ECMAscript 5.1 es5  是我们学习的版本
    es6 是2011年发布的es5的下一个版本,2015.6发布了es2015 而生
    的第一个版本,2016.6发布es6的第二个版本es2016,2017年发布第三个版本,es2017
    es6 涵盖了es2015,es2016,es2017三个版本
    我们可以认为es6是严格模式的es5
    严格模式就是 HTML5 和 xhtml1.0的区别
    "use strict"
二,es6基础语法
    1,变量声明关键词 let
        es6新增加的变量声明关键词
        类似var但不同于var,两者可以混合使用
        不同之处:
            1,作用域不同
                var 声明的变量可以在大括号外使用(if,for,{},),let声明的变量只能是
                大括号内部使用,外部无法使用
                代码块:在es6中我们认为,任何大括号都能隔离一个独立的作用域,叫做代码块
            2,没有变量声明提升
            3,暂时性死区
                在使用let声明变量之前是不能使用这个变量的
            4,不允许重复声明变量
                let不允许在相同作用域中重复声明变量,当然函数中也不允许使用let重新声明参数
    2,块级作用域
        1  es5中的作用域有哪些?全局作用域和函数作用域并没有块级作用域
        2) es6 增加了块级作用域
            es6中  任何 {} 就是一个独立块级作用域
        3)es6 允许块级作用域嵌套
        4) 内层作用域可以读取外层变量,但是外层不能读取内层变量
        5) 内层作用域可以声明与外层作用域相同的变量
        6) IIFE代码块隔离功能取消
        7) 块级作用域与函数声明
            es5中函数只能在全局作用域或函数作用域中声明
            不能再if语句或for语句的大括号中声明;但是如果声明了还能正常使用,不会报错

        8)do 语法表达式    (只是提案,暂不能用)
            块级作用域是一个语句,能够将多个操作封装在一起,但是没有返回值
            在块级作用域以外,没有办法得到其中的变量,除非是全局变量
            一个提案:将块级作用域变为表达式,也就是说可以有返回值,就是使用 do语句
    3,const  常量定义关键字
        1)const 声明一个常量,一旦声明,无法改变
        2)常量一旦声明,就必须初始化(赋值),不能留到以后赋值
        3)const  常量的本质
            const 其实并不是不让改变值,而是变量的指针指向内存地址不能改动,对于基本数据
            类型,值就保存在变量指向的内存地址中,所以不能被改变,但是对于对象类型,变量
            存储的是指针,指针指向的是对象的首地址,const 保证这个指针不变,但是数据结构可以
            通过对象改变
            如果 const 指向一个数组(Array),数组本身是可写的,但是想要将一个新的数组赋值给这个
            数组,会报错,改变数组中的某个元素,不会报错
    4,顶层对象
        es5 当中顶层对象是 window,顶层对象的属性与全局变量是等价的;
        es6 当中,var function  关键字声明的全局变量,依然等价与顶层对象的属性,但是,
        let,const,class等关键字声明的全局变量将不属于window,也就是说,
        es6 开始,全局变量逐渐与顶层对象window属性开始脱钩

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值