ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

【javascript】論理演算子、数値・文字列・真偽値への変換、三項演算子


新しく学んだことや復習をまとめて行きます。

論理演算子

論理AND演算子

両辺がtrueならtrue

x=7;
y=2;
if(x === 7 && y === 2){
  console.log('xは7でyは2');
}

論理OR演算子

両辺どちらかがtrueならtrue

x=7;
y=2;
if(x === 7 || y === 2){
  console.log('xは7でyは2');
}

論理NOT演算子

falseならtrue

x=7;
if(!(x === !7)){
  console.log('xは7ではない');
}

値の変換

toString() (文字列への変換)

数値10を文字列へ変換している。

var num = 10;
//numを文字列に変換
var string = num.toString();
//numが数値ならtrue
console.log(string === 10);
//numが文字列ならtrue
console.log(string === '10');

parseInt() (数値への変換)

文字列10を数値へ変換している。

var num = '10';
//numを10進数で表示
var  = parseInt(num,10);

parseInt()関数が第1引数の文字列の中に第2引数の基数で数字とされない文字を認めると、それ以降の文字は無視され、そこまでの値を解析した整数値が返される。値は最初の数値から解析される。
解析された値は10進数で表される。
parseInt() - JavaScript | MDN

//2進数で3は存在しないのでNaNと表示
console.log(parseInt(3,2));
//1だけ解析して3以降の解析はされないので1と表示
console.log(parseInt(13101101,2));
//1だけ解析して3以降の解析はされないので1と表示
console.log(parseInt(13101101,2));
//15と表示
console.log(parseInt('f',16));
//8と表示
console.log(parseInt('10',8));

メモ:0から数えるので8進数で8は数値とみなされない。16進数も同じく。

真偽値への変換

falseになる場合

以下はfalsyと呼ばれ、falseに変換される。

  • undefined
  • >null-
  • 0 と NaN
  • 空文字の文字列('')
var value1 = 0;
var value2 = undefined;
var value3 = null;
var value4 = NaN;
var value5 = '';

var bool1 = Boolean(value1);
var bool2 = Boolean(value2);
var bool3 = Boolean(value3);
var bool4 = Boolean(value4);
var bool5 = Boolean(value5);

//valueがtrueかどうか
console.log(bool1,bool2,bool3,bool4,bool5);

trueになる場合

以下はtruthyと呼ばれ、falseに変換される。

  • オブジェクト
  • 配列
  • 0 と NaN 以外の数値
  • 空文字以外の文字列

trueが出る場合
var value1 = {};
var value2 = ['a','b','c','d'];
var value2 = value21[0];
var value3 = 2;
var value4 = 'aaa';

var bool1 = Boolean(value1);
var bool2 = Boolean(value2);
var bool3 = Boolean(value3);
var bool4 = Boolean(value4);

//valueがtrueかどうか
console.log(bool1,bool2,bool3,bool4);

三項演算子

書き方

条件 ? 'true'の時の処理 :'false' の場合の処理 ;

var a = 333;
var test = a === 222 ? 'aは222' : 'aは222じゃない' ;
console.log(test);