JavaScript 自學筆記20

1. JavaScript 類 class

(1). ES6引入了一種新的聲明類的語法

  • 使用class關鍵詞來聲明類。
  • 使用constructor()來初始化屬性的實例。
  • 調用類中的方法語句為:objectName.methodName(args)

如:class Animal {

constructor (name) { this.name = name; };

getName() { return this.name };

};

let cat = new Animal('cat');

console.log(cat.getName()); // 'cat'

  • 類class是一種特殊的函數類型。

如:console.log(typeof Animal); // function

  • cat對象既是Animal的實列,也是Object的實列。

如:console.log(cat instanceof Animal); // true

console.log(cat instanceof Object); // true

(2). 類與自定義類型的區別

  • 函數聲明可以吊裝(即先調用,后聲明。參考JavaScript 自學筆記10),類卻不能吊裝,必須先聲明,后調用。

如:let cat = new Animal('cat'); // 直接報錯Uncaught ReferenceError: Animal is not defined

// 必須先聲明Animal的類,然後才能new Animal

class Animal {

constructor (name) { this.name = name; };

getName() { return this.name };

};

let cat = new Animal('cat'); // 正確格式

  • 在strict模式下,類裏的所有代碼都會被自動運行。
  • 類裏的所有方法都不能被枚舉non-enumerable。
  • 調用類的構造器卻不使用new操作器會導致報錯。

如:let dog = Animal('dog'); // TypeError: Cannot call a class as a function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值