初识ES6

ECMAScript

1、ECMAScript5:脚本语言(不需要独立的编译器,通过浏览器加载运行,实现用户和页面的交互)

2、ECMAScript6:是JavaScript的下一代语法标准,于2015年6月发布。是JavaScript正式成为企业级的开发语言

ECMAScript6和JavaScript的关系ECMA是一个语法规范,JavaScript是该语法规范的实现

ES6的基本语法

1、let 、const

(1)let:用来声明块级变量,var声明的变量会出现作用域的提升(会产生变量污染)

(2)const:声明的变量必须要初始化

        const声明的对象:可以修改对象的属性值,但不能修改对象本身

Object.freeze:冻结对象 不能修改对象的属性值

hasOwnProperty()函数:判断key是否是对象的属性 若是返回true 若不是返回false

const p = {
    name:'李四',
    age:25,
    family:{
        father:'李世民',
        mother:'长孙皇后'
    }
}
function fun(obj){//函数的参数是一个对象
    // 1、冻结对象 参数接收的对象
    Object.freeze(obj);
    // 2、使用for...in循环遍历对象的属性
    for(let k in obj){
        //hasOwnProperty()用来判断对是否包含给定的属性 typeof用来判断数据类型
        if(obj.hasOwnProperty(k) && typeof obj[k]==='object'){
            fun(obj[k]);
        }
    }
}
fun(p);
p.family.father = '李建成'
console.log(p);

临时死区:用let和const生成的变量会存放在临时死区中

作用:使用let声明的变量 const声明的常量的作用域不会被提升

2、在循环当中使用var

let arr = [];
    for(let i = 0;i<5;i++){ //var定义的i是全局的 若将var改为let输出 则输出0 1 2 3 4
        arr.push(function(){  //arr是一个函数数组:数组中的每个单元都是函数
            console.log(i);
        })
    }
    arr.forEach(function(item){ //item是函数:
        item();
})

3、解构赋值 Rest运算符 ‘...’

(1)当迭代器使用:会按顺序遍历容器中的元素

(2)替代函数的内置属性arguments

(3)通过解构赋值可以简化变量的赋值

(4)通过‘...’把特定的元素放在变量中

(5)通过解构来交换变量的值   注:必须要用;结尾

4、对象的解构

解构单层对象

解构多层对象

解构时可以给变量取别名

5、模板字符串

使用反引号``和${变量名}将常量和变量写在一个串里面

6、Symbol类型

(1)ES5 7种数据类型

(2)ES6新增的Symbol:表示一个唯一的值

        1、直接创建:let 变量名=symbol

        2、间接创建:传字符串 let 变量名 = Symbol(字符串)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值