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

Javascript問題集(演算子)解答

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

問題1の解答

この結果は、真偽値の「false」が数値の「0」に変換され、「数値」の「10」から「0」が引かれるため、結果は「10」になります。

問題2の解答

let flag = true;
flag = !flag;

「!」は「論理否定演算子」で、右側の「真偽値」を反転させます。

変数「flag」に最初に「true」を代入したので、後で「!flag」をすると「false」に変換されます。

そして、結果として「flag」には「false」が代入されます。

問題3の解答

let x = 27;
let y = 13;
console.log(x * y); // 出力結果: 351

このプログラムでは、変数「x」に数値の「27」を代入し、変数「y」に数値の「13」を代入しています。

そして、「x」と「y」を掛けた結果である「351」を「console.log()メソッド」を使って表示しています。

問題4の解答

let x = 150;
let y = 25;
console.log(x / y); // 出力結果: 6

このプログラムでは、変数「x」に数値の「150」を代入し、変数「y」に数値の「25」を代入しています。

そして、「x」を「y」で割った結果である「6」を「console.log()メソッド」を使って表示しています。

問題5の解答

結果は「7」 になります。この結果は、数値の減算演算子の「-」が使用されたため、文字列の「"3"」 が自動的に数値の「3」に変換され、数値の「10」から「3」が引かれるためです。

問題6の解答

結果は文字列の「"1015"」になります。この式では、「+演算子」が文字列結合を行うため、「"10" + 20」は文字列の「"1020"」となります。

その後、「-演算子」が数値演算を行うため、「"1020" - 5」を計算し、結果は「1015」となります。

問題7の解答

文字列の「"1"」と数値の「1」を厳密に等しいかを判定する「===」で評価をすると、それぞれのデータ型が異なるため結果は「false」となります。

問題8の解答

結果は「6」になります。この結果は、真偽値の「true」が数値の「1」に変換され、数値の「5」と「1」が足し合わされるためです。

問題9の解答

let num1 = 10;
let num2 = 5;
let result;
	
if (num1 > num2) {
	result = "num1 > num2";
} else if (num1 < num2) {
	result = "num1 < num2";
}
	
console.log(result); // 出力結果:num1 > num2

このコードでは、変数「num1」と変数「num2」を比較演算子「>」と「<」を使用して比較し、条件分岐を行っています。

変数「num1」が変数「num2」よりも大きい場合には「num1 > num2」、変数「num1」が変数「num2」よりも小さい場合には「num1 < num2」という文字列を変数「result」に代入しています。最後に、変数「result」をコンソールに出力しています。

問題10の解答

let x = 161;
let y = 21;
console.log(x % y); // 出力結果: 14

このプログラムでは、変数「x」に数値の「161」を代入し、変数「y」に数値の「21」を代入しています。

そして、「%(剰余演算子)」を利用して、「x」を「y」で割った余りである「14」を「console.log()メソッド」を使って表示しています。

問題11の解答

let x = 13;
let y = 22;
console.log(x + y); // 出力結果: 35

このプログラムでは、変数「x」に数値の「13」を代入し、変数「y」に数値の「22」を代入しています。

そして、「x」と「y」を足した結果である「35」を「console.log()メソッド」を使って表示しています。

問題12の解答

「==演算子」は、型変換を行った上で「値の比較」を行う演算子です。

「"1"」は文字列ですが、数値の「1」に変換されるため、「1 == 1」と同様の評価となり、結果は「true」となります。

問題13の解答

let x = 28;
let y = 12;
console.log(x - y); // 出力結果: 16

このプログラムでは、変数「x」に数値の「28」を代入し、変数「y」に数値の「12」を代入しています。

そして、「x」と「y」を引いた結果である「16」を「console.log()メソッド」を使って表示しています。

問題14の解答

「/」演算子を使用して「a / b」と記述することで「a」を「b」で割った結果を求めることができます。

問題15の解答

「%」演算子を使用して「a % b」と記述することで「a」を「b」で割った余りを求めることができます。

問題16の解答

結果は文字列の「 "510"」になります。この結果は、文字列の「結合演算子 +」が使用されるため、数値の「5」と文字列の「"10"」が結合されるためです。

問題17の解答

「**演算子」は累乗を表す演算子であり、「3 ** 2」は「9」と評価されます。その後、「*演算子」により「9 * 2」が評価され、結果は「18」となります。

問題18の解答

「||演算子」は論理和演算子であり、左辺が「false」なら右辺を評価します。

「NaN」は「false」と判定されるため、「"hello"」が評価され「true」となるため、全体の結果は「"hello"」になります。

問題19の解答

文字列の比較では、文字列のUnicodeコードポイント値の大小を比較する。「"h"」のコードポイント値は「104」、「"H"」のコードポイント値は「72」であるため、「"hello"」の方が大きくなるため、結果は「true」となります。

問題20の解答

選択肢「1」と「5」が正解です。

選択肢1: 「x + y」は「70」になり、「===演算子」により「数値」としての「70」と「厳密に等しい」ことから「true」と評価されます。

選択肢2: 「x + y」は「70」ですが、「===演算子」により、「文字列型の"15"」と「厳密に等しくない」ため、「false」と評価されます。

選択肢3: 「x + z」は「"1822"」になり、「===演算子」により「文字列の"1852"」と「厳密に等しくない」ため、「false」と評価されます。

選択肢4: 「y」は数値の「52」、「z」は文字列の「"22"」です。「+演算子」は、数値と文字列を結合して文字列に変換するため、「y + z」は「"5222"」になります。「===演算子」により、数値の「74」と文字列の「"5222"」とは「厳密に等しくない」ため、「false」と評価されます。

選択肢5: 「y」は数値の「52」、「z」は文字列の「"22"」です。parseInt()関数により、「"22"」が数値の「20」に変換され、「y + parseInt(z)」は「74」になります。「===演算子」により、数値の「74」と数値の「74」とは「厳密に等しい」ため「true」と評価されます。

→(前へ)「JavaScript(演算子)」の問題

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

HOMEへ