次の問題に答えてください。
問:以下のプログラムはコンソールになんと表示されるでしょう?
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
まだまだ知らないことが多いので、できるだけ多くアウトプットしていきたいと思います。