为什么 Nodejs 中的可选参数不需要 undefined 或 null

问题描述 投票:0回答:1

请参阅 Nodejs 文档中的示例

response.writeHead(statusCode[, statusMessage][, headers])

const body = 'hello world';
response
  .writeHead(200, {
    'Content-Length': Buffer.byteLength(body),
    'Content-Type': 'text/plain',
  })
  .end(body);   

writeHead 函数的第二个参数应该是“statusMessage”。 为什么第二个参数可以自动跳过,不需要参数未定义或为空? Nodejs 如何知道第三个参数的对象。

为什么不

const body = 'hello world';
response
  .writeHead(200, undefined, {
    'Content-Length': Buffer.byteLength(body),
    'Content-Type': 'text/plain',
  })
  .end(body); 

Nodejs 如何知道第三个参数的对象。

node.js parameters option-type
1个回答
0
投票

文档说:

最后一个参数 headers 是响应头。 (可选)可以提供人类可读的 statusMessage 作为第二个参数。

writeHead
函数的实现会检查第二个参数是
string
还是
object
,并做出相应的行为。您可以在源代码中看到它。

© www.soinside.com 2019 - 2024. All rights reserved.