プログラミングライフスタイル
Javascript問題集

Javascript問題集(if文)解答

「Javascript問題集(if文)」の解答は下記になります。

問題1の解答

if (data === null || data === undefined || data === '') {
	console.log('dataはnull・undefined・空の文字列です。');
} else {
	console.log('dataはnull・undefined・空の文字列ではありません。');
}

論理演算子の「||」を使って、3つの条件のいずれかが真であることをチェックしています。

もし条件の評価結果が「true」であれば、「ifブロック」が実行されますが、条件が「false」であれば、「elseブロック」が実行されます。

問題2の解答

if (data >= 15) {
	console.log("dataは15以上です。");
}

「>=」は「以上」を表す比較演算子で、条件を満たす場合にはif文の中身が実行されます。

問題3の解答

if (typeof data === "undefined") {
	console.log("data is undefined");
} else {
	console.log(data);
}

「if文」の条件式には、「typeof演算子」を使って、変数「data」の型が「undefined」であるかを判定しています。

条件式が真(true)の場合は、「"data is undefined"」を出力します。

偽(false)の場合は、変数「data」の値を出力するように、「if-else文」で分岐しています。

問題4の解答

if (0 <= num && num <= 10) {
	console.log("OK");
} else {
	console.log("NG");
}

「if文」の条件式には、論理演算子「&&」を使って、変数「num」が「0以上10以下」の整数であるかを判定しています。

条件式が真(true)の場合は、「OK」を、偽(false)の場合は「NG」を出力するように、「if-else文」で分岐しています。

問題5の解答

if (30 <= age  && age < 50) {
	console.log("30歳以上50歳未満です。");
} else {
	console.log("30歳未満または50歳以上です。");
}

「&&」は「論理演算子」であり、「両方の条件を満たす」場合には「ifブロック」の中身が実行されます。

条件を満たさない場合には「elseブロック」の中身が実行されます。

問題6の解答

if (num % 2 === 0) {
	console.log("numは偶数です。");
}

「%」は「剰余演算子」であり、「num % 2 === 0」は「numを2で割った余りが0である」という条件を表します。

条件を満たす場合には「if文」の中身が実行されます。

問題7の解答

if (Array.isArray(num)) {
	console.log(num.length);
} else {
	console.log("num is not array");
}

「if文」の条件式には、「Array.isArray()」メソッドを使って、変数numが配列であるかを判定しています。

条件式が真(true)の場合は、配列の要素数を、偽(false)の場合は"num is not array"を出力するように、「if-else文」で分岐しています。

問題8の解答

if (data !== null && typeof data !== "undefined") {
	console.log(num);
}

「if文」の条件式には、比較演算子「!==」と「typeof演算子」を使って、変数「data」が「null」または「undefined」でないかを判定しています。

条件式が真(true)の場合は、変数「data」の値を出力します。

偽(false)の場合は何もしないように、「if文」で条件分岐しています。

また、「null」と「undefined」を同時に判定するために、論理演算子「&&」を使って、条件を連結しています。

問題9の解答

if (data === "foo" || data === "bar") {
	console.log("dataはfooまたはbarです。");
} else {
	console.log("dataはfooでもbarでもありません。");
}

「||」は論理演算子であり、いずれかの条件を満たす場合に「if文」の中身が実行されます。

問題10の解答

const obj = {name: 'John', age: 30};
const key = 'name';

if (key in obj) {
	console.log(obj[key]);
} else {
	console.log('keyが存在しません。');
}

変数「obj」がオブジェクトであることをチェックし、「in演算子」を使って指定した「プロパティ」が存在するかどうかをチェックしています。

「プロパティ」が存在する場合、その値を出力し、存在しない場合は「elseブロック」が実行されます。

問題11の解答

let str = 'hogehogehoge';

if (str.length >= 10) {
	console.log(str.slice(0, 10));
} else {
	console.log(str);
}

「if文」では変数「str」が文字列の長さが「10文字以上」であるかどうかをチェックしています。

文字列の長さが「10文字以上」の場合、「sliceメソッド」を使って文字列の「先頭の10文字」を取得し、それを出力します。

反対に、文字列の長さが「10文字未満」の場合は「elseブロック」が実行され、元の文字列をそのまま出力します。

問題12の解答

if (num < 5) {
	console.log("numは5未満です。");
} else if (num < 20) {
	console.log("numは5以上20未満です。");
} else {
	console.log("numは20以上です。");
}

「if文」の条件「num < 5」を満たすと「numは5未満です。」と表示されます。

条件を満たさない場合は、「else if」の条件「num < 20」が判定され、条件を満たしていれば「numは5以上20未満です。」が表示されます。

条件を満たさない場合は「else」の「numは20以上です。」が表示されます。

問題13の解答

if (1 <= num && num <= 10) {
    console.log('numは1以上10以下の数値です。');
} else {
    console.log('numは1以上10以下の数値ではありません。');
}

論理演算子「&&」を使って、「numが1以上かつ10以下」であることをチェックしています。

条件式が真の場合、「ifブロック」が実行され、そうでない場合は「elseブロック」が実行されます。

問題14の解答

if (typeof data === "object" && data !== null) {
	console.log(Object.keys(data).length);
} else {
	console.log("Not an object");
}

「if文」の条件式には、「typeof演算子」を使って、変数「data」の型が「object」であるかを判定しています。

また、変数「data」が「null」でないかも判定しています。

条件式が真(true)の場合は、「Object.keys()メソッド」を使ってオブジェクトのプロパティ名を配列で取得し、配列の要素数を出力します。

偽(false)の場合は"Not an object"を出力するように、「if-else文」で分岐しています。

問題15の解答

if (0 <= age && age <= 4) {
	console.log("幼児です。");
} else if (5 <= age && age <= 10) {
	console.log("子供です。");
} else if (11 <= age && age <= 19) {
	console.log("10代です。");
} else {
	console.log("成人です。");
}

問題16の解答

if (typeof num === "number") {
	console.log(num * 10);
} else {
	console.log("Not a number");
}

「if文」の条件式には、「typeof演算子」を使って、変数「num」の型が「number」であるかを判定しています。

条件式が真(true)の場合は、変数「num」を10倍した値を、偽(false)の場合は"Not a number"を出力するように、「if-else文」で分岐しています。

問題17の解答

if (something.length === 0) {
	console.log('somethingは空の配列です。');
} else {
	console.log('somethingは空の配列ではありません。');
}

配列の長さをチェックするために、「lengthプロパティ」を使用しています。

配列が空の場合、「length」は「0」になります。そのため、配列の長さが0である場合、「ifブロック」が実行され、そうでない場合は「elseブロック」が実行されます。

問題18の解答

if (str === "") {
	console.log("strは空文字列です。");
}

「===」は「厳密等価演算子」であり、「型変換」を行わないため、「値と型」が「完全に一致」する場合にのみ条件を満たします。

条件を満たす場合には「if文」の中身が実行されます。

問題19の解答

if (mode) {
	console.log('modeはtrueです。');
} else {
	console.log('modeはfalseです。');
}

変数「mode」が真偽値であることをチェックしています。

真偽値が「true」である場合、条件式自体が真となり、「ifブロック」が実行されますが、反対に、「false」であれば「elseブロック」が実行されます。

問題20の解答

if (num > 0) {
	console.log("numは正の数です。");
} else if (num < 0) {
	console.log("numは負の数です。");
} else {
	console.log("numは0です。");
}

「if文」の条件「num > 0」を満たすと「numは正の数です。」と表示されます。

条件を満たさない場合は、「else if」の条件「num < 0」が判定され、条件を満たしていれば「numは負の数です。」が表示されます。

条件を満たさない場合は「else」の「numは0です。」が表示されます。

→(前へ)「JavaScript(if文)」の問題

→(次へ)「JavaScript(繰り返し)」の問題

HOMEへ