0
为伪造命名空间层次流行的做法:如何在定义之后更改类表达式的构造函数名称?
class Stem {};
Stem.Branch = class extends Stem {};
Stem.Branch.Twig = class extends Stem.Branch {};
Stem.Branch.Twig.Leaf = class extends Stem.Branch.Twig {};
让我们做一个实例的一些反思。下面有“错误”的/不希望的结果(可能是攀爬,直到找到一个名称):
» (new Stem.Branch.Twig).constructor.name
"Stem"
允许我一个名字附加到类表达式:
Stem.Branch.Twig = class Stem.Branch.Twig extends Stem.Branch {};
但这语法错误,标识符不能包含点,并且引用不起作用。如果没有点,它至少适用于人类,相反却是无用的计算机:
Stem.Branch.Twig = class StemBranchTwig extends Stem.Branch {};
» (new Stem.Branch.Twig).constructor.name
"StemBranchTwig"
我想惹它的定义之后类的名称,这样一个实例的构造函数名称显示为我的愿望,但我无法弄清楚如何。
*“但是对电脑来说没用”*您希望计算机如何处理类名? –