ES6和ES5的区别

1. ES5和ES6的区别?
ECMAScript 5 (ES5):ECMAScript 的第五版,于2009年标准化,该标准已在所有现代浏览器中完全支持。
ECMAscript 6 (ES6):ECMAscript 第 6 版,2015 年标准化。这个标准已经在大多数现代浏览器中部分实现。

两者之间的区别:
箭头函数和字符串插值

const foo = (name)=>{
	return `hello ${name}`;
}

等价于=>

const foo = name => `hello ${name}`;

const:const表示无法修改变量的原始值。const表示对值的常量引用。可以改变被引用对象的属性值,但不能改变引用本身。

const arr = [];
arr.push = ("name");
console.log(arr.length === 1);		//true
arr = ["age","address"];		//false

块作用域: ES6中,let和const会创建块作用域,不会var声明变量一样被提升。
默认参数:默认参数是可以使用默认值初始化函数。当参数省略或undefined时使用默认参数值。

function foo(a,b = 2) {
	return a*b;
}
foo(5);		//10

类定义与继承
ES6 引入了对类(class关键字)、构造函数(constructor关键字)和 extend 关键字(用于继承)的语言支持。

for-of 运算符
for…of 语句创建一个遍历可迭代对象的循环。

Spread 操作符用于对象融合

const obj1 = {};
const obj2 = {a:2, c:3, d:4};
const obj3 = {...obj,...obj2}

Promises
Promises提供了一种处理异步操作的结果和错误的机制。你可以用回调来完成同样的事情,但是promises通过方法链接和简洁的错误处理提供了更高的可读性。

const isGreater = (a,b) => {
	return new Promise((resvolve,reject)=>{
		if(a>b) {
			resolve(true)
		} else {
			reject(false)
		}
	})
}
isGreater(1,2){
	.then(result => {
		console.log('greater')
	})
	.catch(result => {
		console.log('smaller')
	})
}

模块导出和导入
模块导出:

const myModule = {x:1,y:() => {console.log('this is helloworld')}}
export default myModule;

导出:

import myModule from './myModule'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值