0
0

More than 1 year has passed since last update.

JavaScript17_論理演算子とif文(三項演算子), for文, switch文

Last updated at Posted at 2022-02-18

jsは3種類の演算符があります。
&&

  • 左側がtrueなら右側を返す
  • 左側がfalseなら左側を返す
const num = null;
const fee = num && "なんかが設定されました";
console.log(fee);

|| 

  • 左側がfalseなら右側を返す
  • 左側がtrueなら左側を返す
const num = 100;
const fee = num || "金額未設定です";
console.log(fee);

NOT: !

注意:
if文の条件式で2つの値が等しいかを比較する時に、
==の代わりに===(型まで一致する)を使用してください。
==使うと予期せぬバグが押し込んでしまうことがあります。

一つの値に2回!!すると、値は変更しません。
image.png
image.png
よって、上記の特性を利用すれば、値をBooleanに変換することができる。!!を書けばOKです。
var a = "Hello";
a = !!a;

&&: 二つの値ともTrueの時だけ、Trueが返されます。

||:一つのTrueがあれば、Trueが返されます。
   2つの値ともFalseの場合、Falseが返されます。

1つ目の値がtrueの場合、2つ目の値をチェックしません。
下記の例にalertは実行されません。
true || alert("123");

if文とネスト

const height = 80;

if(height >= 80){
    console.log("値は80以上です");
}else if(height >= 60){
    console.log("値は60以上です")
}else{
    console.log("値は60以下です");
}

// if文の中にif文があることをネストと呼ぶ
if(height > 160){
    if(gender == "女"){
        console.log("女の子で身長160以上です");
    }
}

三項演算子


const height = 80;
// 否定を書くときに、型まで判定できる!==を書くのが普通
if(height !== 80){
    console.log("値は80ではありません");
}

const name = "田中";
const gender = "男";
// ANDを判定する: &&
if(name ==="田中" && gender === "男"){
    console.log("1組の田中です");
}
// ORを判定する: ||
if(name ==="田中" || gender === "男"){
    console.log("1組または2組の田中です");
}

// 三項演算子
// 条件?  : 

const score = 60;

const comment = score >= 60 ? "good":"not good";
console.log(comment);

三項演算子を使った関数例:

const checkSum = (num1, num2) => {
    return num1 + num2 > 100 ? "100を超えています" : "範囲内です";
}

console.log(checkSum(90,20));

for文

const scores = [10, 20, 30, 40];

// 順番に取り出す
for(score of scores){
    console.log(score);
}

// 繰り返すの回数を決める場合はfor文を使う
for(i=0; i<10; i++){
    console.log(i);
}

switch文(if文の方が見やすいため、基本的にif文を書く)
case後の:とbreak;を描き忘れないように注意してください。


const data = 1;

switch(data){
    case 1:
        console.log('1です');
        break;
    case 2:
        console.log('2です');
        break;
    case 3:
        console.log('3です');
        break;
    default:
        console.log('1-3ではありません');
        break;
}

数値を価格に表示するには、toLocaleStringメソッドを使う。

const num = 13000;
// 注意:toLocaleString()は文字列に適用しません
console.log(num.toLocaleString);

const numif = typeof num === "number" ? num.toLocaleString() : "数値を入力してください";
console.log(numif);
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