ES6的那些事!

一:ES6的简介:
一个语法 能在it行业站住脚跟,那么必定有他的优势!结合上一遍es6 历史的一些讲解和由来!和版本等等!

ES6新增了一种独一无二的数据类型:Symbol。详情会在后面解释。

即现在javascript的数据类型共有以下7种。

String Number Boolean null undefined Object Symbol

let和const命令

关于let命令:

1.不存在变量提升。
2.从变量的使用到变量的声明属于暂时性死区。
3.不允许重复声明。
块级作用域

const命令

1.不允许重复声明;
2.声明之后变不可改变;当声明一个对象时需注意
eg:const a=0;a=3;>报错
eg:const obj={};obj.a=a;不报错 obj={};
>报错;
解释:const声明的变量存储的是指向内存地址的指针,故不可赋值给其他,当声明的变量为对象时,可扩展此对象。

在前面我们有讲过 闭包相关知识,当时我们 都讲过其实用 let 也可以解决这个问题,也就是解决全局泄露的问题1

在这里插入代码片
var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 6

var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 6

Set 和 Map 数据结构
与 Array 增、删、改、查对比

let map = new Map();
let set = new Set();
let array = [];

// 增
map.set('t', 1);
set.add( { t : 1 } );
array.push( { t:1 } );

console.info( map, set, array );  // Map { 't' => 1 }  Set { { t: 1 } }  [ { t: 1 } ]

// 查
let map_exist = map.has( 't' );
let set_exist = set.has( {t:1} );
let array_exist = array.find(item => item.t)

console.info(map_exist, set_exist, array_exist);  //true   false   { t: 1 }

// 改
map.set('t', 2);
set.forEach(item => item.t ? item.t = 2:'');
array.forEach(item => item.t ? item.t = 2:'');
console.info(map, set, array);  // Map { 't' => 2 }   Set { { t: 2 } }   [ { t: 2 } ]

// 删
map.delete('t');
set.forEach(item => item.t ? set.delete(item):'');
let index = array.findIndex(item => item.t);
array.splice(index,1);

console.info(map, set, array);  // Map {}   Set {}   []


函数默认参数设置:

	//es5时
 function action(num) {
        num = num || 200
        //当传入num时,num为传入的值
        //当没传入参数时,num即有了默认值200
        return num
    }
//但是,num传入为0的时候就是false,但是我们实际的需求就是要拿到num = 0,此时num = 200 明显与我们的实际想要的效果明显不一样

//ES6为参数提供了默认值。在定义函数时便初始化了这个参数,以便在参数没有被传递进去时使用。
function action(num = 200) {
        console.log(num)
    }
    action(0) // 0
    action() //200
    action(300) //300


箭头函数:不需要function关键字创建函数,省略return关键字,继承上下文的this关键字,this绑定的是所定义的作用域
arrow function 箭头函数
ES6中新增的箭头操作符 => 简化了函数的书写。操作符左边为输入的参数,而右边则是进行的操作以及返回的值,可以说是 ES6 最最常用的一个新特性了,看下面的实例:


let arr = [1, 3, 5, 7, 9];
arr.forEach (function(val, key) {
    return console.log(val, key);
});

// ES6
let arr = [1, 3, 5, 7, 9];
arr.forEach (
(val, key) => console.log(val, key)
);


es6就是在JS的基础上简化了一些代码!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值