我看到一些代码似乎使用了一个我无法识别的运算符,以两个感叹号的形式出现,如下所示:!!.有人可以告诉我这个运营商的作用吗?
我看到这个的背景是,
this.vertical = vertical !== undefined ? !!vertical : this.vertical;
Run Code Online (Sandbox Code Playgroud) ESLint在我的JS模块中告诉我这条错误消息:error no-unneeded-ternary默认赋值不必要地使用条件表达式
错误出现在语句的get方法中?returnreturn val ? val : defaultVal;
import ls from 'local-storage';
export default {
get(key, defaultVal = null) {
var val = ls(key);
return val ? val : defaultVal;
},
set(key, val) {
return ls(key, val);
},
remove(key) {
return ls.remove(key);
},
};
Run Code Online (Sandbox Code Playgroud)
知道为什么我会收到此错误消息吗?我发现在ESLint网站关于此错误消息的一些资源在这里,但它适用于布尔表达式,我想不通为什么会适用于我的代码...