繁体   English   中英

为什么Javascript docs将函数的参数定义为语法中的嵌套数组?

[英]Why Javascript docs define function's parameter as a nested array in syntax?

我不知道如何提出这个问题,但在我学习Javascript或Node.js的文档时,他们正在定义类似这样的语法。

var new_array = old_array.concat(value1 [,value2 [,... [,valueN]]])

这里所有参数( value1[, value2[, ...[, valueN]]] )都被定义为嵌套数组。

实际意味着什么,和

为什么他们不只是定义这样的东西。

var new_array = old_array.concat(... values)

要么

var new_array = old_array.concat(valueList)

它与数组无关(除了你的例子来自数组类型的方法的文档)。 方括号表示可选参数 ,这是大多数编程语言和工具中使用的约定。 例如, ls命令的帮助:

usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

......或者cp

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory

您的示例意味着该函数至少使用一个参数,并且可以使用逗号分隔更多参数。 根据文档,这些值可以是数组和/或值以连接成新数组 因此,每个valueN可以是要添加到返回数组的数组或值。

不使用...符号的原因可能是因为方括号已经使用了几十年并且很普遍,因此无论主题是什么,读者都会熟悉语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM