为了账号安全,请及时绑定邮箱和手机立即绑定

为什么节点文档在描述这个函数时会在逗号之前列出这个左括号?

为什么节点文档在描述这个函数时会在逗号之前列出这个左括号?

繁花不似锦 2022-10-27 14:11:42
为什么节点文档在描述这个函数时会在逗号之前列出这个左括号?fs.createReadStream(path[, options]) fs.createWriteStream(path[, options])翻译成这样: fs.readFile('/etc/passwd', 'utf-8', callback());那么他们为什么要像这样 fs.createReadStream(path**[,** options]) 而不是这样 fs.createReadStream(path, [options])我在这里错过了什么吗?
查看完整描述

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

当您在文档中看到这样的内容时:

fs.createReadStream(path[, options])

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

fs.createReadStream(somePath)

或者

fs.createReadStream(somePath, {flags: "r"});

方括号[]是参数是可选的文档约定,因为参数是可选的,所以它的逗号也是可选的。这就是为什么逗号包含在括号内的原因。逗号是可选部分的一部分。


查看完整回答
反对 回复 2022-10-27
?
九州编程

TA贡献1785条经验 获得超4个赞

两者之间有区别:

fs.createReadStream(path[, options])

fs.createReadStream(path, [options])

第一个意味着如果你不传递选项,那么你就不用逗号。这意味着以下内容是有效的:

fs.createReadStream(path);
fs.createReadStream(path, 'utf-8');

第二个意思是,如果您不传递选项,则不能省略逗号。这意味着以下内容是有效的:

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

显然这是错误的。因此,文档正确地将可选符号放在[]逗号周围。

这个约定来自于 unix 手册(手册)页面的悠久传统。


查看完整回答
反对 回复 2022-10-27
?
跃然一笑

TA贡献1826条经验 获得超6个赞

这是一个约定,表示 options 参数是可选的。两个调用都有效:

 fs.createReadStream(onlyPath);
 fs.createReadStream(somePath, someOptions);


查看完整回答
反对 回复 2022-10-27
  • 3 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信