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です。」が表示されます。