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