ES6语法特性(四)class类 数值扩展方法对象扩展方法

ES6

Class类

es6引入了类Class 的概念,作为对象的模板。可以使用Class关键字定义类,通过类实例化对象。
Class类可以看做是一个语法糖,绝大部分功能也可以通过es5做到。
Class写法只是让对象原型的写法更加清晰、更像面向对象变成的语法而已。

ES5 构造函数实例化对象

      function Phone(brand, price) {
   
        this.brand = brand;
        this.price = price;
      }
      Phone.prototype.call = function () {
   
        console.log('call me');
      };
      let HW = new Phone('huawei', 9999);
      console.log(HW);

在这里插入图片描述

class声明类

构造方法 名称不能修改 实例化是自动执行
方法定义不能使用ES5对象的形式

      class Phone {
   
        // 构造方法 名称不能修改 实例化是自动执行
        constructor(brand, price) {
   
          this.brand = brand;
          this.price = price;
        }
        // 不能使用ES5对象的形式
        // call: function (){} //  错误
        call() {
   
          console.log('call me');
        }
      }
      let OPPO = new Phone('oppo', 6666);
      console.log(OPPO);

在这里插入图片描述

static定义静态属性、方法

es5 函数对象与实例对象属性/方法不通,通过prototype链接

      function Phone() {
   }
      Phone.name = 'hw';
      Phone.call = function () {
   
        console.log('call me');
      };
      Phone.prototype.size = 10;
      var hw = new Phone();
      console.log(hw.name);
      console.log(hw.size);
      console.log(hw.call());

在这里插入图片描述
静态属性、方法

      class Phone {
   
        static name = 'hw';
        static call() {
   
          console.log('call me');
        }
      }
      const hw = new Phone();
      console
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值