型による「!」の判定の違い

タイプスクリプト TypeScript

次の問題に答えてください。

問:以下のプログラムはコンソールになんと表示されるでしょう?

let b: number = 3;
if(b){
  console.log(!!b)
}

正解は

>true

TypeScriptを勉強し初めてはや半年。未だにわからないことだらけで頭を抱える日々が続いております。。。

先日、if(!!a) のような記述を目にし「!」の判定に対して理解が浅かったことが判明したため、出力結果を備忘録として記載しておきます。

気にしていなかった型による「!」の判定

string型、number型、boolean型に対して「!」が付くとどのような値が返ってくるか確認します。

let a: string = '文字列';

console.log(a); //文字列
console.log(!a); //false
console.log(!!a); //true

let b: number = 33;

console.log(b); //33
console.log(!b); //false
console.log(!!b); //true

let c:boolean = true;
console.log(c); //true
console.log(!c); //false
console.log(!!c); //true

まだまだ知らないことが多いので、できるだけ多くアウトプットしていきたいと思います。

きせる

タクシー運転手を1年経験し、畑違いのエンジニアに転職。エンジニアに向いていないと思いつつ現在3年目。

きせるをフォローする
スポンサーリンク
TypeScript