Reflect API 使用浏览器 - 对象操作方法速查与测试
列出所有 Reflect 静态方法,提供参数输入并执行,查看返回值和副作用。
UD5工具箱
创建与使用唯一标识符 — 深入理解 ES6 Symbol 原始数据类型
每次调用 Symbol('desc') 都会创建一个全新的、独一无二的值,即使描述相同。
Symbol.for(key) 会在全局注册表中查找或创建 Symbol,相同 key 返回同一个 Symbol。
Symbol 可以作为对象属性键,避免属性名冲突,且不会被常规遍历发现。
| Symbol | 用途 |
|---|---|
Symbol.iterator |
定义对象的默认迭代器 |
Symbol.toStringTag |
自定义 Object.prototype.toString() 返回值 |
Symbol.hasInstance |
自定义 instanceof 行为 |
Symbol.toPrimitive |
对象转换为原始值时的行为 |
Symbol.asyncIterator |
定义对象的异步迭代器 |
Symbol.species |
指定派生对象的构造函数 |
Symbol.keyFor() 反查其 key。适用于跨模块共享标识符的场景。
Object.keys()、for...in、JSON.stringify() 等方法会刻意忽略 Symbol 键。要获取 Symbol 属性,必须使用 Object.getOwnPropertySymbols() 或 Reflect.ownKeys()。这种设计让 Symbol 属性成为一种"半隐藏"的属性,适合存储元数据或避免意外覆盖。
Symbol.iterator 使对象可迭代。new 操作符来实例化。这与 String、Number、Boolean 不同——后者虽然有原始值形式,但也支持 new 创建包装对象。如果确实需要一个 Symbol 的包装对象,可以使用 Object(sym),但在实际开发中几乎不需要这样做。直接使用 Symbol() 返回的就是原始值。
null(在数组中)。这是设计使然——Symbol 代表的是程序内部的唯一标识,不适合跨环境序列化传输。如果需要持久化,应使用字符串键或将 Symbol 映射关系单独存储。
列出所有 Reflect 静态方法,提供参数输入并执行,查看返回值和副作用。
创建带 # 私有字段的类,尝试外部访问观察语法错误,理解封装。
定义字段名称和类型(姓名、邮箱、数字范围等),批量生成符合规则的 JSON 模拟数据。
对简单混淆的JS进行格式化,并尝试将短变量名替换为更具描述性的名称,提高可读性。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
通过注册CSS属性的类型和初始值,演示如何让渐变等属性实现平滑动画。
在Emoji和它的JavaScript Unicode转义序列(如 \u{1F600})之间进行转换。
对比 ES Module 和经典脚本的变量作用域、严格模式以及执行时机。
输入一个 Snowflake 格式的数字 ID,解析出生成时间戳、数据中心、机器编号和序列号。
输入 Emmet 缩写,实时显示展开后的 HTML 结构,学习高级 Emmet 技巧。
使用原生HTML Popover属性创建提示、菜单与对话框,展示四种触发方式及样式定制。
设置浏览器标题和图标,模拟在暗色/亮色主题下标签栏的样子。
选择扩展类型(弹出、内容脚本、后台),生成完整的项目文件和 manifest.json。
创建一个测试自定义元素,记录并展示 connectedCallback, attributeChangedCallback 等执行顺序。
利用 `:target` 伪类创建无需JavaScript的弹窗组件,支持关闭按钮和遮罩层。
绘制 SVG 路径,将动画元素绑定到路径上,生成 offset-path 动画代码。
输入最小/最大字体大小和视口范围,生成精确的 clamp() 值及回退方案。
粘贴自定义图标字体的Unicode,调节尺寸颜色立即查看效果。
设置不同验证属性和自定义消息,测试HTML5表单验证触发效果。
对 JS 代码进行变量名缩短、字符串加密等简单混淆,并尝试反混淆格式化。
展示各种 HTML5 验证属性(required, pattern, min, max 等)和自定义验证消息的效果。
将HTML代码转换为兼容React JSX的代码(class→className,style→对象等)。
输入问题描述(如“禁止未使用变量”),自动匹配对应的 ESLint 规则名称及配置建议。
设置总页数与当前页,生成数字式或省略式分页导航条。
配置事件类型和重试间隔,生成用于接收 SSE 的前端 EventSource 代码和后端流示例。
使用 ImageDecoder API 解码图片并逐帧显示(若为动图),展示底层编解码能力。
在同一数据上运行多种数组遍历方式,测量并比较它们的执行时间,辅助性能优化决策。
使用CSV格式定义多个色标的位置和颜色,批量生成复杂的CSS渐变代码。
编写 HTML 和 import map,在浏览器中直接导入裸标识符模块并执行。
输入代码并自动去除无意义空格,统计有效字符数,用于Code Golf比赛。