ES6新语法

ES6新语法

  1. 箭头操作符
    书写函数变得简单,解决了函数中this指向的问题
  2. class类的引入,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法
function Point(x, y) {
  this.x = x;
  this.y = y;}

Point.prototype.toString = function () {
  return '(' + this.x + ', ' + this.y + ')';};
var p = new Point(1, 2);

等同于下面
//定义类class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  toString() {
    return '(' + this.x + ', ' + this.y + ')';
  }}
  1. 增强了对象的字面量
    可以在对象字面量里面定义原型,定义方法可以不用function关键字
    直接调用父类方法
//通过对象字面量创建对象
var human = {
    breathe() {
        console.log('breathing...');
    }
};
var worker = {
    __proto__: human, //设置此对象的原型为human,相当于继承human
    company: 'freelancer',
    work() {
        console.log('working...');
    }
};
human.breathe();//输出 ‘breathing...’
//调用继承来的breathe方法
worker.breathe();//输出 ‘breathing...’
  1. 模板字符串`` 使用${变量}
  2. 解构
    let user={ name:”zs”, age:18 ,gender:”男”}
    let {name:username,age,gender}=user
    可用在外面直接打印age gender,而 name被重命名了,需要打印username
  3. 默认参数值 对象中不用定义name =name直接写name
  4. 拓展参数
    它允许传递数组或者类数组直接做为函数的参数而不用通过apply。
  5. let const 关键字
    可以把let看成var,只是它定义的变量被限定在了特定范围内才能使用,而离开这个范围则无效。const则很直观,用来定义常量,即无法被更改值的变量。
    let解决的变量提升的问题
  6. for of 遍历数组
  7. ....三点运算符,功能是把数组或类数组对象展开成一系列用逗号隔开的值
    arr=[1 , 2 , 3]
    //...arr 即表示 1,2,3
    
    与reset运算符相反 也是…
    用法:
	function fn(...data){console.log(data)}
	fn(1,2,3)
	//[1, 2, 3]
  1. Promises
    ①. 解决了回调地狱(回调中套回调)
    ②. Promise 是一个构造函数
    在Promise上,有两个函数,分别叫做resolve(成功之后的回调函数)和reject(失败之后的回调函数)
    ③. 在Promise构造函数的Prototype属性上,有一个 .then()方法,也就是说,只要是Promise构造函数创建的实例,都可以访问到.then()方法
    ④. Promise表示一个异步操作,每当我们new一个Promise实例,这个实例就表示一个具体的异步操作
    //创建promise
    var promise = new Promise(function(resolve, reject) {
       		 // 进行一些异步或耗时操作
       			 if ( /*如果成功 */ ) {
           		 resolve("Stuff worked!");
        		} else {
           		 reject(Error("It broke"));
        		}
    });
    //绑定处理程序
    promise.then(function(result) {
    		//promise成功的话会执行这里
      		  console.log(result); // "Stuff worked!"
    }, function(err) {
    		//promise失败会执行这里
        	console.log(err); // Error: "It broke"
    }).catch(function(err){
    		如果不返回错误的回调,可以使用catch捕获错误的信息
    	})
    	```
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值