!可将变量转换成boolean类型,null、undefined和空字符串取反都为 true,其余都为 false。!!常常用来做类型判断,在第一步 !(变量)之后再做逻辑取反运算
const myObj = {a: 1,b: 'some string',c: [0],d: {a: 0},e: undefined,f: null,g: '',h: NaN,i: {},j: [],deleted: 'value'};delete myObj.deleted;console.log(!!myObj['a']); // 1, trueconsole.log(!!myObj['b']); // 'some string', trueconsole.log(!!myObj['c']); // [0], trueconsole.log(!!myObj['d']); // {a: 0}, trueconsole.log(!!myObj['e']); // undefined, falseconsole.log(!!myObj['f']); // null, falseconsole.log(!!myObj['g']); // '', falseconsole.log(!!myObj['h']); // NaN, falseconsole.log(!!myObj['i']); // {}, trueconsole.log(!!myObj['j']); // [], trueconsole.log(!!myObj['deleted']); // false