Javascript Symbol.for()vs导入和导出普通符号()变量

Javascript Symbol.for()vs导入和导出普通符号()变量,javascript,symbols,Javascript,Symbols,正如我们所看到的,通常所有的符号都是不同的,即使它们是不同的 相同的名字。但有时我们希望相同的命名符号是相同的 实体 例如,应用程序的不同部分希望访问符号 “id”表示完全相同的属性。 为什么不直接导出常量mySymbol=Symbol(“mySymbol”)而不是?然后从应用程序中的任何地方导入它,使它几乎成为一个“全局的” 什么时候最好选择一种方法而不是另一种方法?如果您删除require.cache[filename]然后再次需要它,那将是不同的对象您的链接文章中没有提到导出符号,这些都

正如我们所看到的,通常所有的符号都是不同的,即使它们是不同的 相同的名字。但有时我们希望相同的命名符号是相同的 实体

例如,应用程序的不同部分希望访问符号 “id”表示完全相同的属性。

为什么不直接导出常量mySymbol=Symbol(“mySymbol”)而不是?然后从应用程序中的任何地方导入它,使它几乎成为一个“全局的”


什么时候最好选择一种方法而不是另一种方法?

如果您
删除require.cache[filename]
然后再次需要它,那将是不同的对象您的链接文章中没有提到导出符号,这些都是不相关的概念。您的代码是完全有效的。是的,如果您可以使用模块并通过模块共享一个符号,那么这是更好的解决方案。当您无法轻松共享一个常量,但仍然需要相同的符号时,会出现问题。如果您
删除require.cache[filename]
,然后再次需要它,则会出现不同的问题。您的链接文章中没有提到导出符号,这些都是不相关的概念。您的代码是完全有效的。是的,如果您可以使用模块并通过模块共享一个符号,那么这是更好的解决方案。当您无法轻松共享一个常量,但仍然需要相同的符号时,会出现错误。