JavaScript確認テスト(4)
Q1
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ1</title> </head> <body> <script> var x ='ABC'; if(x != 'ABC'){ console.log('OK'); }else{ console.log('NG'); } </script> </body> </html>
結果↓
メモ
・[!=]は左辺と右辺が等しくない時にOKになる。
今回は等しいのでNGになった。
Q2
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ2</title> </head> <body> <script> var x = 10; if(x === '10'){ console.log('OK'); }else{ console.log('NG'); } </script> </body> </html>
結果↓
メモ
・[===]は左辺と右辺が等しくかつデータ型も等しい場合OKになる。
今回は左辺と右辺は等しいが、データ型が左辺が整数で右辺が文字の扱いになるのでNGになった。
Q3
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ3</title> </head> <body> <script> var x = 10; var y = 20; if (y = 10 && x > y){ console.log('OK'); }else{ console.log('NG'); } </script> </body> </html>
メモ
・[&&]は左辺の計算式と右辺の計算式がどちらもtrueの時にOKになる。
今回はどちらの計算式も正しくないのでNGになった。
Q4
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ4</title> </head> <body> <script> var x = 'C'; switch(x){ case'A': console.log('A'); case'B': console.log('B'); case'C': console.log('C'); case'D': console.log('D'); default: console.log('E'); } </script> </body> </html>
メモ
・[switch]は()内の値が対応する[case]文にジャンプし処理する。
[switch]の特徴は一致した値から下の部分も処理される。
今回は[switch]内の値が[C]なのでcase'C'までジャンプし処理され、そこから下の'D''E'も処理された。
Q5
Q:
switch文において、if文のelseと同じ役割を果たすキーワードはなんですか?
A:
default
・elseは条件に満たさない場合にされる処理
defaultはどの値にも一致しない場合される処理なので
Q6
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ6</title> </head> <body> <script> var x = 'Z'; switch(x) { case 'A': console.log('A'); case 'B': console.log('B'); case 'C': console.log('C'); case 'D': console.log('D'); default: console.log('E'); } </script> </body> </html>
メモ
・switchの値がZなので一致するcase文がなかった。
一致しない場合処理されるdefault文のEになった。
Q7
HTML
※結果がわかるように12行目にconsole.logを追加しました。
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ7</title> </head> <body> <script> var a = 0; while(a < 3) { a++; console.log(a); } </script> </body> </html>
メモ
・while文は()内の条件に対してtrueの場合は繰り返し処理を行い、条件に当てはまらなくなると終了する。
・()内には条件式のみで変数の変更などは別に命令する。
・[++](インクリメント演算子)は変数の値に1を足す。(変数の前か後ろにつけるかで演算を行うタイミングが変わる)
・今回は条件式はaが3未満の場合trueなので3になったら終了になる、
aは元々0、++により1ずつ足されるので3回繰り返される。
Q8
HTML
※結果がわかるように12行目と14行目にconsole.logを追加しました。
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ8</title> </head> <body> <script> var a = 3; while(a < 3) { a++; console.log(a); } console.log('終了'); </script> </body> </html>
メモ
・今回はwhile文の条件が3未満、
aが元々3なので条件式に当てはまらず繰り返しがなく処理された。
Q9
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ9</title> </head> <body> <script> for(var i = 5; i > 0 ; i--){ console.log(i); } </script> </body> </html>
メモ
・for文は指定した回数だけ処理を繰り返す
・for ( 変数の初期値; 繰り返し条件; 変数の変更 ) {
実行される処理}
今回の式に当てはめてみると↓
var i=5(変数の初期値)→初期化式(最初の1回だけ実行される)
i > 0(繰り返し条件)→継続条件式(1回分の繰り返し処理の最初に毎回実行される)
i--(変数の変更)→増減式(1回分の繰り返し処理の最後に毎回実行される)
・[--](デクリメント演算子)変数の値を1減らす。
Q10
HTML
<!DOCTYPE html> <html lang="ja"> <head> <title>JS確認テストQ4</title> </head> <body> <script> var fruits = ['りんご','みかん','パイナップル','ぶどう','バナナ']; for(var i = 0; i < 5; i++){ console.log(fruits[i]); } </script> </body> </html>
メモ
・javascriptの場合0から数えるので初期値は0
・0→りんご、1→みかん、2→パイナップル、3→ぶどう、4→バナナになるので5未満で終わるようにする。