https://github.com/lodash/lodash/blob/3.7.0/lodash.src.js#L2781
此代码段 start = start == null 中的
?+start
是什么意思? 0 : (+开始 || 0);
在我看来,+start
等于0+start
。我们已经知道 start
是一个数字。
那么为什么不使用 start = start == null 呢? 0 : (开始 || 0);
?
我是不是有什么误解?我真的很困惑。
最佳答案
您不知道,在该方法的开头,start
是一个数字。文档说它应该是,但是文档什么时候总是完全正确的?
+start
和 0+start
之间没有任何真正的区别,因为两者都会将 start
强制转换为数字(因此-start
,但它显然会反转过程中的符号)。
假设文档是正确的并且 start
已经是一个数字,则 +start
是一个空操作,不会导致任何问题或破坏任何内容。如果 start
不是数字(下一个最可能的类型可能是字符串),那么这将在使用它之前将其强制转换为数字。
关于javascript - 为什么在lodash中使用 `+start`而不是 `start`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828787/