es6中new.target的作用和使用場景簡單示例分析
本文實(shí)例講述了es6中new.target的作用和使用場景。分享給大家供大家參考,具體如下:
有時(shí)候想寫出只能被繼承使用的類,這時(shí)候就要用到new.target
1 含義:
new.target返回使用new方法調(diào)用類時(shí)的類的名稱,子類繼承父類時(shí),new.target會(huì)返回子類
class Rectangle { constructor(length, width) { console.log(new.target === Rectangle); // ... } } class Square extends Rectangle { constructor(length) { super(length, length); } } var obj = new Square(3); // 輸出 false
2 new.target的作用
------限制類的調(diào)用方法,判斷new.target是不是未定義
-----寫出只能被繼承使用的類
class Shape { constructor() { if (new.target === Shape) { throw new Error('本類不能實(shí)例化'); } } } class Rectangle extends Shape { constructor(length, width) { super(); // ... } } var x = new Shape(); // 報(bào)錯(cuò) var y = new Rectangle(3, 4); // 正確
參考:http://es6.ruanyifeng.com/#docs/class
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
理解JavaScript設(shè)計(jì)模式中的單例模式
這篇文章主要介紹了理解JavaScript設(shè)計(jì)模式中的單例模式,單例模式即Singleton?Pattern是最簡單的設(shè)計(jì)模式之一,下文更多相關(guān)介紹感興趣的小伙伴可以參考一下2022-04-04unapp微信小程序轉(zhuǎn)發(fā)分享及攜帶參數(shù)的2種方式
這篇文章主要給大家介紹了關(guān)于unapp微信小程序轉(zhuǎn)發(fā)分享及攜帶參數(shù)的2種方式,我們在微信小程序中經(jīng)常會(huì)使用到分享商品海報(bào),或者是重繪微信小程序分享鏈的圖片功能,需要的朋友可以參考下2023-11-11微信小程序?qū)崿F(xiàn)長按 識(shí)別圖片二維碼(兩種方案)
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)長按 識(shí)別圖片二維碼(兩種方案),第一種方案只需要在image里面加一個(gè)屬性就可以了,本文結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01JavaScript中的數(shù)學(xué)運(yùn)算介紹
這篇文章主要介紹了JavaScript中的數(shù)學(xué)運(yùn)算介紹,本文先是講解了數(shù)學(xué)運(yùn)算的一些知識(shí),然后給出了操作實(shí)例,需要的朋友可以參考下2014-12-12js判斷移動(dòng)端橫豎屏視口檢測實(shí)現(xiàn)的幾種方法
最近做歌一個(gè)小項(xiàng)目,但是要放到我們的app上,然而需要橫豎屏使用不同的樣式,本文就來介紹一下js判斷移動(dòng)端橫豎屏視口檢測實(shí)現(xiàn)的幾種方法,感興趣的可以了解一下2021-07-07