js 「!」マークが2つの論理演算子(二重否定)

「 if ( !!hoge ) {} 」等の「!!」について

作成日:2020-01-30, 更新日:2020-01-30

基本

「!!」・・・否定の否定で、二重否定・・・

使い道

▼下記2つは同じ感じになる
・「if( !!hoge ){}」
・「if( hoge!=null ){}」

var hoge;

if ( !!hoge ) {
  console.log('値あり:hoge='+hoge);
}
else {
  console.log('hogeは値なし');
}

if ( hoge != null ) {
  console.log('値あり:hoge='+hoge);
}
else {
  console.log('hogeは値なし');
}

▼下記のような「!!hoge」ではなく「!hoge」のときは「値あり:hoge=undefined」となる

var hoge;

if ( !hoge ) {
  console.log('値あり:hoge='+hoge);
}
else {
  console.log('hogeは値なし');
}