繁花不似錦
2022-10-27 14:11:42
為什么節(jié)點文檔在描述這個函數(shù)時會在逗號之前列出這個左括號?fs.createReadStream(path[, options]) fs.createWriteStream(path[, options])翻譯成這樣: fs.readFile('/etc/passwd', 'utf-8', callback());那么他們?yōu)槭裁匆襁@樣 fs.createReadStream(path**[,** options]) 而不是這樣 fs.createReadStream(path, [options])我在這里錯過了什么嗎?
3 回答

慕桂英3389331
TA貢獻2036條經(jīng)驗 獲得超8個贊
當(dāng)您在文檔中看到這樣的內(nèi)容時:
fs.createReadStream(path[, options])
這意味著該options
參數(shù)是可選的。它不需要通過。因此,您可以fs.createReadStream()
通過以下兩種方式之一:
fs.createReadStream(somePath)
或者
fs.createReadStream(somePath, {flags: "r"});
方括號[]
是參數(shù)是可選的文檔約定,因為參數(shù)是可選的,所以它的逗號也是可選的。這就是為什么逗號包含在括號內(nèi)的原因。逗號是可選部分的一部分。

九州編程
TA貢獻1785條經(jīng)驗 獲得超4個贊
兩者之間有區(qū)別:
fs.createReadStream(path[, options])
和
fs.createReadStream(path, [options])
第一個意味著如果你不傳遞選項,那么你就不用逗號。這意味著以下內(nèi)容是有效的:
fs.createReadStream(path); fs.createReadStream(path, 'utf-8');
第二個意思是,如果您不傳遞選項,則不能省略逗號。這意味著以下內(nèi)容是有效的:
fs.createReadStream(path,); // <---------------- NOTE THE COMMA fs.createReadStream(path, 'utf-8');
顯然這是錯誤的。因此,文檔正確地將可選符號放在[]
逗號周圍。
這個約定來自于 unix 手冊(手冊)頁面的悠久傳統(tǒng)。

躍然一笑
TA貢獻1826條經(jīng)驗 獲得超6個贊
這是一個約定,表示 options 參數(shù)是可選的。兩個調(diào)用都有效:
fs.createReadStream(onlyPath); fs.createReadStream(somePath, someOptions);
添加回答
舉報
0/150
提交
取消