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回!!すると、値は変更しません。
よって、上記の特性を利用すれば、値を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);