webpack使用Symbol.toStringTag(Symbol.toStringTag用法)
Symbol.toStringTag是一個(gè)內(nèi)置 symbol,它通常作為對(duì)象的屬性鍵使用,對(duì)應(yīng)的屬性值應(yīng)該為字符串類(lèi)型,這個(gè)字符串用來(lái)表示該對(duì)象的自定義類(lèi)型標(biāo)簽,通常只有內(nèi)置的Object.prototype.toString()方法會(huì)去讀取這個(gè)標(biāo)簽并把它包含在自己的返回值里。
Symbol.toStringTag屬性的屬性特性: | |
---|---|
writable | false |
enumerable | false |
configurable | false |
Symbol.toStringTag用法
Symbol.toStringTag 作用
對(duì)象上的Symbol.toStringTag屬性用于對(duì)象toString類(lèi)型標(biāo)識(shí)
Symbol.toStringTag 解釋
對(duì)象調(diào)用toString方法,如果這個(gè)屬性存在,它的返回值會(huì)出現(xiàn)在toString方法返回的字符串之中,表示對(duì)象的類(lèi)型。
webpack中也有使用,用于定義模塊導(dǎo)出exports添加Module類(lèi)型的屬性
webpack使用Symbol.toStringTag
export.toString(export); function __webpack_require__() { // .... } __webpack_require__.r = function(exports){ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { Object.defineProperty(exports, Symbol.toStringTag, {value: 'Module'}); } Object.defineProperty(exports, '__esModule', {value: true}); } const exports = {}; __webpack_require__.r(exports); console.log('exports', exports); // {__esModule: true, Symbol(Symbol.toStringTag): "Module"} console.log('exports toString', exports.toString()); // [object Module]
總結(jié)
Symbol.toStringTag屬性可以用來(lái)定制toString方法返回[object Object]或[object Array]中object后面的那個(gè)字符串標(biāo)識(shí)對(duì)象類(lèi)型
到此這篇關(guān)于webpack使用Symbol.toStringTag(Symbol.toStringTag用法)的文章就介紹到這了,更多相關(guān)Symbol.toStringTag用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Three光源Target位置改變光照方向不變的問(wèn)題解決方法
這篇文章主要為大家介紹了Three光源Target位置改變光照方向不變的問(wèn)題及解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12淺析使用BootStrap TreeView插件實(shí)現(xiàn)靈活配置快遞模板
這篇文章主要介紹了使用bootstrap-treeview插件實(shí)現(xiàn)靈活配置快遞模板的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11javascript 手動(dòng)給表增加數(shù)據(jù)的小例子
這篇文章介紹了js手動(dòng)給表增加數(shù)據(jù)的實(shí)例代碼,有需要的朋友可以參考一下2013-07-07JavaScript實(shí)現(xiàn)JSON合并操作示例【遞歸深度合并】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)JSON合并操作,結(jié)合實(shí)例形式分析了javascript基于遞歸深度實(shí)現(xiàn)json合并操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-09-09利用babel將es6語(yǔ)法轉(zhuǎn)es5的簡(jiǎn)單示例
Babel是一個(gè)廣泛使用的轉(zhuǎn)碼器,babel可以將ES6代碼完美地轉(zhuǎn)換為ES5代碼,所以下面這篇文章就來(lái)給大家詳細(xì)介紹了關(guān)于利用babel將es6語(yǔ)法轉(zhuǎn)es5的相關(guān)資料,文章通過(guò)示例介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12從零開(kāi)始用electron手?jǐn)]一個(gè)截屏工具的示例代碼
這篇文章主要介紹了從零開(kāi)始用electron手?jǐn)]一個(gè)截屏工具的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10JavaScript變速動(dòng)畫(huà)函數(shù)封裝添加任意多個(gè)屬性
這篇文章主要介紹了JavaScript變速動(dòng)畫(huà)函數(shù)封裝添加任意多個(gè)屬性 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04JavaScript原生數(shù)組函數(shù)實(shí)例匯總
這篇文章主要介紹了JavaScript原生數(shù)組函數(shù)實(shí)例匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10