Node.js:process.argv与process.ARGV

我注意到Node定义了process.argvprocess.ARGV (大写)。 后者在文档中没有提到,在任何情况下,我都遇到了同样的对象。

ARGV只是一个历史性的搁置,还是它有一个目的?

v0.5.10以来, v0.5.10已被完全 v0.5.10

它们是相同的:

node.cc

 // process.argv Local<Array> arguments = Array::New(argc - option_end_index + 1); arguments->Set(Integer::New(0), String::New(argv[0])); for (j = 1, i = option_end_index; i < argc; j++, i++) { Local<String> arg = String::New(argv[i]); arguments->Set(Integer::New(j), arg); } // assign it process->Set(String::NewSymbol("ARGV"), arguments); process->Set(String::NewSymbol("argv"), arguments); 

编辑 (基于进一步的问题):

只有一个人可以肯定地告诉你(作者) – 你可能能够在IRC上find他( irc.freenode.net #node.js )。

通过其他符号来看,我猜测它是为了一致性而添加的 – argvenv似乎是唯一的两个同时具有小写和大写的版本。 但是, ENVenv 略有不同。 也许作者认为argvARGV可能与envENV相同?