javascript - 在一个对 ![String 实例] 返回 true 的字符串上调用 String.replace?
正在查看 class-validator 的 ValidatorConstraint 实现,其中有一部分看起来像这样:
name = target.name;
if (!name) // generate name if it was not given
name = name.replace(/\.?([A-Z]+)/g, (x, y) => "_" + y.toLowerCase()).replace(/^_/, "");
!name 这一部分有意义吗?例如,console.log(!"") 会输出 true,所以 name 可能是一个空字符串,而 console.log(!undefined) 也是 true。
所以我的假设是,`if (!name)` 块里面的代码块永远不会有意义,因为在该块内部永远不会有字符串可以进行替换?