Symbol.toStringTag用法

Symbol.toStringTag 作用

对象上的Symbol.toStringTag属性用于对象toString类型标识

Symbol.toStringTag 解释

对象调用toString方法,如果这个属性存在,它的返回值会出现在toString方法返回的字符串之中,表示对象的类型。

webpack中也有使用,用于定义模块导出exports添加Module类型的属性

webpack使用Symbol.toStringTag

js 复制代码
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]

总结

Symbol.toStringTag属性可以用来定制toString方法返回[object Object]或[object Array]中object后面的那个字符串标识对象类型

相关推荐
洋不写bug20 分钟前
html实现简历信息填写界面
前端·html
三十_A41 分钟前
【无标题】
前端·后端·node.js
excel43 分钟前
Vue 编译器源码解读:transformVBindShorthand 的设计与原理
前端
时间的情敌1 小时前
Vue3的异步DOM更新:nextTick的正确使用方法
前端·javascript·vue.js
风语者日志1 小时前
[LitCTF 2023]作业管理系统
前端·网络·安全·web安全·ctf
excel1 小时前
深入解析:Vue 编译器核心工具函数源码(compiler-core/utils.ts)
前端
excel1 小时前
第五章:辅助函数与全流程整合
前端
excel1 小时前
🔍 深度解析:Vue 编译器中的 validateBrowserExpression 表达式校验机制
前端
excel1 小时前
深度解析:Vue 模板编译器中的 Tokenizer 实现原理
前端
excel1 小时前
🧩 Vue 编译核心:transform.ts 源码深度剖析
前端