ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。
- let 和 const
在ES6以前,Javascript并没有块级作用域的概念,有的是全局作用域和函数作用域,而let的出现就是为了打破局面,let是块级作用域。const是代表常量,必须在定义的时候初始化,不可改变。 - 字符串拼接
- 解构赋值
- 复制数组
- 增加了Map对象,倾向于后台
- for-of循环
- 箭头函数
- 对象的简洁语法
- 类和继承(class和extends)
- 模块化 export 和 import
- Promise
- Generator、yield
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ES6的学习</title>
</head>
<body>
<script>
// 数组的解构赋值
// let a=0;
// let b=1;
// let c=2;
// let [a,b,c]=[0,1,2];
// console.log(a,b,c);
// //对象的解构赋值
// let {foo,bar}={foo:'zain',bar:'技术zain'};
// console.log(foo+bar);
//对象扩展运算符...
// function zain(...args){
// console.log(args[0]);
// console.log(args[1]);
// }
// zain(1,2,3);
// let arr1=['www','zain','jack'];
// let arr2=arr1;
// console.log(arr2);
// arr2.push('sheng');
// console.log(arr1);
// console.log('上面的例子是浅拷贝,arr2改变之后,arr1也改变了,如果用...扩展运算符,才可以实现深拷贝');
// let arr3=[...arr1];
// arr3.push('delink');
// console.log(arr1);
//字符串模板 ``
// let zain='itming';
// let blog='非常高兴itming你能来';
// let c=`我们欢迎你${zain}`;
// document.writeln(c);
// document.write(blog.indexOf(zain)>0);
// document.write(blog.includes(zain));
// document.write(blog.startsWith(zain));
// document.writeln(zain.repeat(3));
//js中一旦代码报错或者抛异常了,后面的代码就不会执行了。
//主动抛出异常
// function add(a, b = 1) {
// if (a == 0) {
// throw new Error('a is error');
// }
// return a + b;
// }
// console.log(add(0));
// function ajac(c, d) {
// return c + d;
// }
// console.log(ajac.length);
// var addtwo=(a,b=3)=>a+b;
// console.log(addtwo(1));
// //严谨模式
// 'use strict'
//es6中的函数和数组
//对象的函数解构
// let t={
// a:'zain',
// b:'名'
// };
// function fun({a,b='web'}){
// console.log(a,b);
// }
// fun(t);
//数组的解构
// let arr=['zain','wenqiang','qiuchao'];
// function fun(a,b,c){
// console.log(a,b,c);
// }
// fun(...arr);
//数组的遍历 forEach
let arr=['zain','技术zain','前端视频'];
// arr.forEach((val,index)=>console.log(index,val));
//数组遍历filter
// arr.filter((x,y)=>console.log(x,y));
//数组遍历map
// console.log(arr.map(x=>'web'));
//数组转字符串
// console.log(arr.toString());
// console.log(arr.join('|'));
//对象的赋值
// let name='zain';
// let skill='web';
// let obj={name,skill};
// console.log(obj);
//key值的构建
// let t='skill';
// var obj={
// [t]:'web'
// };
// console.log(obj);
//ES6中assign的使用
// let a={a:'zain'};
// let b={b:'技术zain'};
// let c={c:'web'};
// let d=Object.assign(a,b,c);
// console.log(d);
// let a=new String;
// let b=new Number;
// let c=new Boolean;
// let d=new Array;
// let e=new Object;
// let f=Symbol();
// console.log(typeof(a));
// let a=Symbol('zain');
// console.log(a);
// console.log(a.toString());
//js中的Set
// let setArr=new Set(['zain','技术zain','js']);
// console.log(setArr);
// setArr.delete('js');
// setArr.clear();
// console.log(setArr);
//Es6中的Class
class Coder{
name(val){
console.log(val);
}
}
let t=new Coder();
t.name('技术zain');
</script>
</body>
</html>
网友评论