首页 > 解决方案 > .includes() 在空字符串逻辑上

问题描述

我正在尝试调试某人的代码。“e”变量行检查用户是否启用了“保存数据”或者他是否处于慢速(2g)连接。

e = navigator.connection && (navigator.connection.saveData || (navigator.connection.effectiveType || "").includes("2g"));
    if (!e && d)...

我感到困惑的部分是最后一个 OR 语句中的空括号。它只是一个冗余代码还是我错过了什么?

检查空字符串中是否包含“2g”有什么意义?

标签: javascript

解决方案


(navigator.connection.effectiveType || "")effectiveType如果is或其他一些虚假的非字符串值null,将解析为空字符串。undefined

如果你不这样做,你会尝试调用null.includes()which 会引发异常。


推荐阅读