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后面的那个字符串标识对象类型

相关推荐
UXbot18 小时前
UI设计工具推荐合集
前端·人工智能·ui
码路星河18 小时前
基于 Vue + VueUse 的 WebSocket 优雅封装:打造高可用的全局连接管理方案
javascript·vue.js·websocket
摘星编程18 小时前
React Native + OpenHarmony:Accelerometer计步器代码
javascript·react native·react.js
敲敲了个代码18 小时前
如何优化批量图片上传?队列机制+分片处理+断点续传三连击!(附源码)
前端·javascript·学习·职场和发展·node.js
@AfeiyuO18 小时前
Vue 引入全局样式scss
前端·vue·scss
光影少年18 小时前
flex布局和grid布局区别,实现两边固定布局中间自适应
前端·css3·web·ai编程
全栈测试笔记19 小时前
异步函数与异步生成器
linux·服务器·前端·数据库·python
EndingCoder19 小时前
配置 tsconfig.json:高级选项
linux·前端·ubuntu·typescript·json
木风小助理19 小时前
JavaStreamAPI的性能审视,优雅语法背后的隐形成本与优化实践
java·前端·数据库
Ophelia(秃头版20 小时前
JS事件循环与NodeJS事件循环(libuv)
开发语言·javascript