ES6应该知道的基础

1 篇文章 0 订阅

这是我了解的ES6,希望可以帮助到你们

ES6数组的遍历,新增了好多好方法:every find some map forEach filter reduce

  • let和var
    var 是函数作用域 在function中运用,let 是块级作用域 直接{}运用。
    var通过函数 进行闭包隔离 let直接隔离,适应let定义变量 在大括号外面就访问不到
  • const
    常用是块级范围的,非常类似用 let 语句的变量。但常量的值是无法(通过从新赋值)改变的,也不能被重新声明。
    值不可变是指内存地址不可变 (对象可以改变)
  • 解构
    结构的意思就是分解一个东西的结构,可以用一种类似数据的方式定义N个变量,可以将一个数据中的值按照规则赋值过去。
    语法堂 var [name,age] = [‘jing’,8]; 可以这样赋值,比较优雅
  • 嵌套复制
    let [x,[y],z] = [1,[2,5],5.6] ; let [x,[y,z]] = [1,[2,5,5.6]] ;等,也可以是json对象{name:“jin”}
    console.log(x,y,z);
  • Set集合
    存储数据具有去重的作用,避免冲突。
var books = new Set();   //存值 books.add('js');
books.has('js'); //判断集合中是否有此元素  和  includes(); 类似
books.size; //集合中元素的个数
books.delete('js');  //删除
books.clear(); //清空
books.forEach((value,key)=>{ //forEach可以迭代map
    console.log( key + '+' +value);
});
  • Map
    可以使用 Map 来组织这种键值对的数据 var books = new Map();
books.set('js',{name:'js'});//向Map中添加元素
books.size;//查看集合中的元素
books.get('js'); //通过key获取值
books.has('js');//判断map中有没有key
books.delete('js');  //删除
books.clear(); //清空
console.log();打印
  • 迭代器 *
    定义:对Java程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止。
    生成迭代器:
function* buy(books){
    for(var i = 0; i< books.length; i++){
        yield books[i];    
    }
}
let buying = buying.nest();
var curr;
do{
    curr = buying.nest();
    console.log(curr);
}while(!curr.done);
  • 数组生成一个迭代器:
const numbers = [1,2,3];
const it = numbers[Symbol.iterator]();
console.log(it.next());
console.log(it.next());
console.log(it.next());
  • Symbol
    每一个Symbol() 返回的symbol值都是唯一的。
    不可new 如:let use = new Symbol(); 会报错
    let key = Symbol(‘user’); //正确写法
    Symbol值永远不能相等,只能和自己相等。
    内置方法:
- 迭代Symbols 
Symbols.iterator  //一个返回一个对象默认迭代器的方法。被 for...of 使用
- Symbol.toStringTag //用于对象的默认描述的字符串值。被Object.ptototype.toString()使用
- Symbol.match  //用于对字符串进行匹配的方法,也用于确定一个对象是否可以作为正则表达式使用。被String.prototype.match() 使用。
- Symbol.replace //一个替换匹配字符串的子串的方法,被 String.prototype.ewplace()使用。
- Symbol.search //一个返回一个字符串中与正则表达式相匹配的索引的方法。被String.prototype.search()使用。
- Symbol.split  //一个正匹配正则表达式的索引处拆分一个字符串的方法。被String.prototype.split()使用。
  • Reflect

  • es6中 ‘…’ 是什么意思:
    1、var set = new Set([1, 2, 3, 4, 4,4,4,4,2,2,2])set=[…set]
    第一个叫做 展开运算符(spread operator),作用是和字面意思一样,就是把东西展开。可以用在array和object上都行。
    2、let [head, …tail] = [1, 2, 3, 4];
    第二个,第三个叫做 剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它。一般只针对array的解构,其他的没见过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渴望知识de小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值