Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么节点文档在描述此函数时会在逗号之前列出此开头括号?_Javascript_Node.js - Fatal编程技术网

Javascript 为什么节点文档在描述此函数时会在逗号之前列出此开头括号?

Javascript 为什么节点文档在描述此函数时会在逗号之前列出此开头括号?,javascript,node.js,Javascript,Node.js,为什么节点文档在描述此函数时会在逗号之前列出此开头括号 fs.createReadStreampath[,选项] fs.createWriteStreampath[,选项] 换言之: fs.readFile'/etc/passwd',utf-8',callback 那么为什么他们会这样做呢fs.createReadStreampath**[,**选项] 而不是像这样的fs.createReadStreampath,[选项] 我在这里遗漏了什么吗?这是一个惯例,表示options参数是可选的。 两

为什么节点文档在描述此函数时会在逗号之前列出此开头括号

fs.createReadStreampath[,选项] fs.createWriteStreampath[,选项]

换言之: fs.readFile'/etc/passwd',utf-8',callback

那么为什么他们会这样做呢fs.createReadStreampath**[,**选项] 而不是像这样的fs.createReadStreampath,[选项]


我在这里遗漏了什么吗?

这是一个惯例,表示options参数是可选的。 两个呼叫都有效:

 fs.createReadStream(onlyPath);
 fs.createReadStream(somePath, someOptions);
fs.createReadStream(path);
fs.createReadStream(path, 'utf-8');
fs.createReadStream(path,); // <---------------- NOTE THE COMMA
fs.createReadStream(path, 'utf-8');

当您在文档中看到类似的内容时:

fs.createReadStream(path[, options]) 
这意味着options参数是可选的。它不需要通过。因此,您可以通过以下两种方式之一创建fs.createReadStream:

fs.createReadStream(somePath)


方括号[]是一种文档约定,即参数是可选的,由于参数是可选的,因此它附带的逗号也是可选的。这就是为什么括号中包含逗号。逗号是可选部分的一部分。

以下两者之间存在差异:

fs.createReadStream(path[, options])

第一个意思是,如果不传入选项,那么就不加逗号。这意味着以下各项有效:

 fs.createReadStream(onlyPath);
 fs.createReadStream(somePath, someOptions);
fs.createReadStream(path);
fs.createReadStream(path, 'utf-8');
fs.createReadStream(path,); // <---------------- NOTE THE COMMA
fs.createReadStream(path, 'utf-8');
第二个意思是,如果不传入选项,就不能省略逗号。这意味着以下各项有效:

 fs.createReadStream(onlyPath);
 fs.createReadStream(somePath, someOptions);
fs.createReadStream(path);
fs.createReadStream(path, 'utf-8');
fs.createReadStream(path,); // <---------------- NOTE THE COMMA
fs.createReadStream(path, 'utf-8');
显然这是错误的。因此,文档正确地将可选的符号[]放在逗号周围

此约定来自unix手册页的悠久传统