es6基础语法

本文介绍了ES6(ECMAScript 2015)的基本概念及其相对于ES5的主要改进,包括新增的let关键字用于声明变量及其特点,块级作用域的概念及应用,const声明常量的规则与限制,以及顶层对象的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,es6简介
    ECMAScript 是一个标准
    ECMAScript 5.1  2011年发布
    es6就是es5的下一个版本,2015.6发布es6的第一版 es2015, 2016.6发布es6第二个版本 es2016 ,2017年发布es6第三个版本 es2017
    es6 是涵盖了es2015,es2016,es2017等版本
    es6 是严格版的es5
    html5 和 Xhtml1.0
    "use strict";
二。es6基础语法
    1,let
        es6新增的声明变量的关键字
        类似于var 但有所不同
        不同:
            1)作用域不同
                var 声明的变量可以在大括号外调用, let声明的变量只能在代码块内部调用
                代码块:我们认为一个大括号可以封闭一个代码块
            2)没有变量提升
            3)暂时性死区
                使用let声明之前的变量都是不可用的
            4)不允许重复声明
                let不允许在相同作用域内部重复声明同一个变量,所以也是不允许在函数中重新声明参数
    2,块级作用域
        1)es5只有两个作用域
            全局作用域   函数作用域
        2)let 为js 增加了块级作用域
        3)es6 允许块级作用域嵌套
        4)外层作用域无法读取内层作用域的变量
        5)内层作用域可以定义与外层作用域的同名变量
        6)IIFE被抛弃
        7)块级作用域与声明函数
            es5 只允许在顶层作用域或函数作用域中声明函数,不能在块级作用域中声明函数
            es6 兼容浏览器
                1) 允许块级作用域声明函数
                2) 函数声明类似于var,会将函数声明提升到全局作用域或函数作用域的头部
                3) 函数声明会提升到块级作用域的头部
        8) do 表达式(暂时不能用)
            块级作用域是一个语句,将多个操作封装在一起,没有返回值
            在块级作用域以外,没有办法得到内部的值,除非是全局变量
            一个提案,使块级作用域可以变为表达式,也就是说可以返回值,就是使用do表达式
    3. const常量
        1) const 声明一个常量,一旦声明,就不能被改变
        2) 常量一旦声明,必须立即初始化,不能留到以后赋值
        3) const本质
            const其实并不是值不让改变,而是变量指向的内存地址不得改动,对于基本数据类型,值就保存在变量指向的内存地址,所以不能被改变,但是对于对象类型,变量存储的是指针,const能保证这个指针不变,但是数据结构是可以改变的
            如果const定义一个数组,数组本身是可写的,但是要想将一个新的数组赋值给这个arr,就会报错
            const arr=[];
            arr.push('hello');//["hello"]
            console.log(arr);
            arr=['hello'];//报错 Uncaught TypeError: Assignment to constant variable.
    4.顶层对象
        es5中顶层对象是window,顶层对象的属性与全局变量是等价的
        es6规定,var 和 function 命令是全局变量,依旧是顶层对象的属性,但是let和const,class命令的全局变量不属于顶层对象的属性,也就是说es6开始,全局变量逐渐与顶层对象的属性脱钩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值