专栏名称: 前端宇宙
种一棵树,最好的时间是十年前,其次是现在。
今天看啥  ›  专栏  ›  前端宇宙

如何用知名Symbol黑掉JavaScript(5种方法)

前端宇宙  · 公众号  ·  · 2024-08-30 08:54

文章预览

他们称之为 知名 符号 — 尽管大多数开发者从未使用过它们,甚至从未听说过它们。 这是一个非常酷的功能,你可以用它来实现这样的魔法: 你将看到我们如何使用知名 Symbol 构建这些类来实现这一点。 它们全都是关于完全定制内置操作(如 for..of )的正常行为。这就像C++和C#中的运算符重载。 它们也都是 Symbol 类的静态方法。 1. Symbol.hasInstance 首先我们有 Symbol.hasInstance :用于轻松改变 instanceof 运算符的行为。 通常, instanceof 用于检查一个变量是否是某个类的实例。 就像它应该的那样;相当标准的东西。 但是使用 Symbol.hasInstance ,我们可以完全改变 instanceof 的工作方式: 现在就 instanceof 而言,一个 Person 不再是 Person 了。 如果我们不想完全覆盖它,而是以一种直观的方式扩展它呢? 我们不能在 Symbol 内部使用 instanceof ,因为那会很快导致无限 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览