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"
我想惹它的定義之後類的名稱,這樣一個實例的構造函數名稱顯示爲我的願望,但我無法弄清楚如何。
*「但是對電腦來說沒用」*您希望計算機如何處理類名? –