版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihuijuan_1/article/details/84836398
es6 简介
1. ECMAScript与JavaScript的关系
Netscape公司将javascript提交给标准化组织ECMA,次年发布了规定浏览器脚本语言的标准,使用的语言是ECMAScript,
2.Babel转码器:
使用es6的语言编码,可以转为es5的语言,防止现有环境不支持 。
例如:
input.map(item=>{item+1});
input.map(function(item){
return item+1;
})
1,npm i --save-dev babel-cli
2,改写package.json。
{
// ...
"devDependencies": {
"babel-cli": "^6.0.0"
},
"scripts": {
"build": "babel src -d lib"
},
}
3,转码: npm run build
3.let ,const,var
let的用法类似var,但是声明的变量只在代码块内有效
var a=[];
for(let i=0;i<10;i++){
a[i]=i;
}
a[8]; //8
如果是var 的话,代表所有的i都指向同一个i,输出的是最后一轮的i的值10。
而let只在本轮循环有效,每循环一次都是一个新的变量。
var会有变量提升,值为undefined,let不存在,会报错。
不允许重复声明
// 报错
function func() {
let a = 10;
let a = 1;
}
const声明一个只读变量,一旦声明,常量的值就不能改变,如果只声明不赋值就会报错,也不可重复声明。
const的作用域和let一样,也是不存在变量提升
4.声明的方式6种
var 、function、 let 。const、 import、 require
import shim from “…/xxx”
5.Symbol
symbol是一种新的原始数据类型,表示独一无二的值,undefined,null,string,number,boolean
set和map
set类似于数组,但是成员都是惟一的
使用
const s = new Set();
[1,2,3,3,3,5,6].forEach(x=>s.add(x))
for(let i of s){
console.log(i) //1,2,3,5,6
}
添加
const s2=new Set([1,2,3,3,3,5,6])
const s3 = new Set(document.querySelectorAll('div'));
s3 .size // 56
Set也提供了一种 ** 去除数组的重复成员 ** 方法
[...new Set(array)]
- set的实例属性
set.prototype.constructor set.prototype.size
- set的方法
add(value):添加某个值,返回 Set 结构本身。 s.add(1) delete(value):删除某个值,返回一个布尔值,表示删除是否成功。 s.delete(1) has(value):返回一个布尔值,表示该值是否为Set的成员。 s.has(1) clear():清除所有成员,没有返回值。