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

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

fs.createReadStream(path[, options]) fs.createWriteStream(path[, options])

翻译成这样: fs.readFile('/etc/passwd', 'utf-8', callback());

那么他们为什么要像这样 fs.createReadStream(path**[,** options]) 而不是这样 fs.createReadStream(path, [options])

我在这里错过了什么吗?


繁花不似锦
浏览 93回答 3
3回答

慕桂英3389331

当您在文档中看到这样的内容时:fs.createReadStream(path[, options])这意味着该options参数是可选的。它不需要通过。因此,您可以fs.createReadStream()通过以下两种方式之一:fs.createReadStream(somePath)或者fs.createReadStream(somePath, {flags: "r"});方括号[]是参数是可选的文档约定,因为参数是可选的,所以它的逗号也是可选的。这就是为什么逗号包含在括号内的原因。逗号是可选部分的一部分。

九州编程

两者之间有区别:fs.createReadStream(path[,&nbsp;options])和fs.createReadStream(path,&nbsp;[options])第一个意味着如果你不传递选项,那么你就不用逗号。这意味着以下内容是有效的:fs.createReadStream(path); fs.createReadStream(path,&nbsp;'utf-8');第二个意思是,如果您不传递选项,则不能省略逗号。这意味着以下内容是有效的:fs.createReadStream(path,);&nbsp;//&nbsp;<----------------&nbsp;NOTE&nbsp;THE&nbsp;COMMA fs.createReadStream(path,&nbsp;'utf-8');显然这是错误的。因此,文档正确地将可选符号放在[]逗号周围。这个约定来自于 unix 手册(手册)页面的悠久传统。

跃然一笑

这是一个约定,表示 options 参数是可选的。两个调用都有效:&nbsp;fs.createReadStream(onlyPath); &nbsp;fs.createReadStream(somePath,&nbsp;someOptions);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript