为什么在使用||时使用“意外的“。”” 括号中默认值的运算符

西索

出现意外的“。” 来自jslint(http://jslint.com/)的以下代码:

function test(foo) {
    "use strict";
    return (foo || "").replace("bar", "baz");
}

jslint为什么||有问题 运算符强制为空字符串,以便在foo作为undefined传入的情况下可以执行替换操作而不会导致错误?

通过:

function test(foo) {
    "use strict";
    var xFoo = (foo || "");
    return xFoo.replace("bar", "baz");
}

我知道它是基于观点的,我可以忽略它,等等...但是试图理解为什么这样的链接不被接受。也了解eshint,但我并不是想绕开此消息,只是想了解原因。

似乎第一种方法更加简洁明了,因为它不需要额外的变量(xFoo)。

在所有条件下,这两种功能的作用完全相同。

客人271314

使用String() 构造 函数可消除jslint的错误

function test(foo) {
    "use strict";
    return String(foo || "").replace("bar", "baz");
}

又见字符串基元和String对象之间的区别JSLint的帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python *运算符,使用默认值创建列表

来自分类Dev

使用值(如果存在),否则使用或运算符分配默认值

来自分类Dev

使用typeof运算符的Node.js / javascript辅助程序的默认值

来自分类Dev

为什么使用gzip时脚本中的文件意外结束?

来自分类Dev

为什么nil合并运算符包装一个隐式展开的默认值?

来自分类Dev

为什么Lua的长度(#)运算符返回意外值?

来自分类Dev

为什么不能在没有括号的插值字符串中使用条件运算符?

来自分类Dev

使用:=时,为什么with = TRUE是默认值?

来自分类Dev

为什么在Java中存在按位运算符时使用逻辑运算符

来自分类Dev

为什么在std :: string上使用Sizeof运算符会产生意外结果?

来自分类Dev

为什么在比较布尔值时,按位运算符比Java中的“正常”运算符要慢?

来自分类Dev

使用赋值运算符时,为什么else部分中的if-else速记需要lvalue?

来自分类Dev

为什么在scala中向后使用concat运算符?

来自分类Dev

为什么在使用“不等于”时,if运算符或运算符不起作用?

来自分类Dev

为什么在使用RemoteFileTemplate时在日志中收到意外的RuntimeException警告?

来自分类Dev

为什么“ as”运算符在C#中不使用隐式转换运算符?

来自分类Dev

为什么在SSRS 2012中允许为null时无法使用默认值

来自分类Dev

下标[]运算符的默认值?

来自分类Dev

为什么在使用插值运算符时不能使用反斜杠转义百分比字符

来自分类Dev

为什么在使用插值运算符时不能使用反斜杠转义百分比字符

来自分类Dev

为什么在Java中不允许赋值和不带括号的布尔运算符

来自分类Dev

如何使用wasm中的<>运算符评估js值?

来自分类Dev

使用运算符在查询中给出无效值错误

来自分类Dev

为什么Map的+运算符需要双括号?

来自分类Dev

为什么Map的+运算符需要双括号?

来自分类Dev

使用(。)运算符输出结构成员的值所得到的结果不同于->运算符,为什么?

来自分类Dev

当我使用is运算符时,为什么IL代码中只有空检查?

来自分类Dev

在C ++ 20中使用范围时,为什么管道运算符不起作用?

来自分类Dev

为什么在使用scanf之后使用&运算符?

Related 相关文章

  1. 1

    python *运算符,使用默认值创建列表

  2. 2

    使用值(如果存在),否则使用或运算符分配默认值

  3. 3

    使用typeof运算符的Node.js / javascript辅助程序的默认值

  4. 4

    为什么使用gzip时脚本中的文件意外结束?

  5. 5

    为什么nil合并运算符包装一个隐式展开的默认值?

  6. 6

    为什么Lua的长度(#)运算符返回意外值?

  7. 7

    为什么不能在没有括号的插值字符串中使用条件运算符?

  8. 8

    使用:=时,为什么with = TRUE是默认值?

  9. 9

    为什么在Java中存在按位运算符时使用逻辑运算符

  10. 10

    为什么在std :: string上使用Sizeof运算符会产生意外结果?

  11. 11

    为什么在比较布尔值时,按位运算符比Java中的“正常”运算符要慢?

  12. 12

    使用赋值运算符时,为什么else部分中的if-else速记需要lvalue?

  13. 13

    为什么在scala中向后使用concat运算符?

  14. 14

    为什么在使用“不等于”时,if运算符或运算符不起作用?

  15. 15

    为什么在使用RemoteFileTemplate时在日志中收到意外的RuntimeException警告?

  16. 16

    为什么“ as”运算符在C#中不使用隐式转换运算符?

  17. 17

    为什么在SSRS 2012中允许为null时无法使用默认值

  18. 18

    下标[]运算符的默认值?

  19. 19

    为什么在使用插值运算符时不能使用反斜杠转义百分比字符

  20. 20

    为什么在使用插值运算符时不能使用反斜杠转义百分比字符

  21. 21

    为什么在Java中不允许赋值和不带括号的布尔运算符

  22. 22

    如何使用wasm中的<>运算符评估js值?

  23. 23

    使用运算符在查询中给出无效值错误

  24. 24

    为什么Map的+运算符需要双括号?

  25. 25

    为什么Map的+运算符需要双括号?

  26. 26

    使用(。)运算符输出结构成员的值所得到的结果不同于->运算符,为什么?

  27. 27

    当我使用is运算符时,为什么IL代码中只有空检查?

  28. 28

    在C ++ 20中使用范围时,为什么管道运算符不起作用?

  29. 29

    为什么在使用scanf之后使用&运算符?

热门标签

归档