JavaScript中的完全限定名称

时间:2017-10-02 15:20:42

标签: javascript node.js standards code-standards

在.NET中,我们有一个完全限定类型名称的概念。例如,我们有System.String,其中System是命名空间,String是类型。随后,我们可以拥有成员FQN,例如System.String.Substring,其中Substring是其成员。

此概念是否也适用于基于JavaScript的工具?例如,如果我有一个test npm包,那么test.someClass.someFunction是否被认为是符合标准的FQN有效?

1 个答案:

答案 0 :(得分:1)

JavaScript有一个松散类型的系统,所以它基本上不关心类型是什么,除非你告诉它。您也可以根据需要更改类型。

let sample = 5
console.log(typeof sample)
sample = 'ok'
console.log(typeof sample)

node.js使用模块,这意味着每个文件基本上都是从根文件开始导出单例的命名空间。

如果它变得非常不同,你可以将变量的值设置为函数,并且注意它不会传递此函数的副本是很重要的。它始终使用对原始的实时引用,这是closure的基础,如果从函数内部调用变量,则可以使用。{/ p>

如果某个函数可以访问变量的范围,那么它就会使用它。关闭很难掌握,所以你应该看一些视频。

const string = function() { return 'hello' };

然后,您可以按需运行它,或传递对它的引用:

console.log(string)
console.log(string())

const test = string
console.log(test())

您可以通过进入根文件复制System.string,然后键入const System = {}来创建对象,然后您可以执行System.string = 'hello world'

在节点中,您可以创建另一个名为System.js的文件并放入module.exports = { string: 'hello' },然后将其放入根文件中。这种情况的不同之处在于您可以在根文件中随意调用它。