0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】GAS(Javascript)におけるブーリアン型の判別

Posted at

久々にGASコード書いたら、はまったので備忘録のメモです。
下記のコードでうまいこと動作せず、悩んでいました。
原因はindexOfの使い方を誤っていたのと、ブーリアン型になるのでおかしくなっていたという
結論です。

誤コード
function test3(){
const array = ['テレビ','エアコン','洗濯機','冷蔵庫']
const machine = '乾燥機';
if(array.indexOf(machine)){

console.log('yes'+array.indexOf(machine));

}else{
console.log('no'+array.indexOf(machine));
}
}

乾燥機はarrayにないので'no'にいってほしいのですが、'yes'の方にいってしまいます。

結論をいうと//array.indexOf(machine=乾燥機)は-1を返す、-1はブーリアン型
だとtrueということで'yes'になっていたようでした。
0、""(空文字)や null、undefinedはfalseを返すようです。

この上記のコードの場合は
if(array.indexOf(machine))の
箇所が
if(array.indexOf(machine))>=0という事でした。

正コード
function test3(){
const array = ['テレビ','エアコン','洗濯機','冷蔵庫']
const machine = '乾燥機';
if(array.indexOf(machine)>=0){

console.log('yes'+array.indexOf(machine));

}else{
console.log('no'+array.indexOf(machine));
}
}

indexOfより、includesの方が便利だなと思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?