Javascript - 使用null作为默认参数

时间:2018-05-01 21:31:24

标签: javascript

我开始使用null作为可选函数参数的默认值。 (显然,除非其他事情更合适)

似乎有道理 - (来自ECMA规范)“空值 - 表示故意缺少任何对象值的原始值“并且在第一次读取该函数时立即清除该参数是可选的。

一个硬核,在我工作的羊毛JS家伙染色了,但是当我推他时,他的理由都有点......未定义(!)

我知道这主要是假的,但是有人能给我一个不合理的理由吗?

初步评论后的详细说明

想象一下像这样的函数

complicatedFunc(arg 1, arg2, arg3, arg4) {

long func

}

就目前而言,它并没有告诉第二个用户任何关于什么参数是必需的/可选的。

相同功能

const complicatedFunc = (arg 1, arg2, arg3 = null, arg4 = null) => {

long func...

}

即文档(从未编写过)将是

complexFunc(arg1,arg2,[arg3,arg4])....

很明显,第二个版本更清晰,不太可能被错误使用

正如我上面所说,如果另一个默认值不合适,你只会使用null。

我能想到好的专业人士,但不是真的有任何缺点吗?

有什么想法吗?

0 个答案:

没有答案