📘
JavaScript 練習 01
練習1
1 console.logを使ってHelloWorldを出力する
> console.log('HelloWorld');
HelloWorld
2 console.logを使って自分の名前を出力する
> console.log('山田 太郎');
山田 太郎
3 「cat」という変数に10、「dog」という変数に30を代入する
var cat = 10;
var dog = 30;
4 console.logを使ってcat の値とdogの値を確認する
> console.log(cat);
10
> console.log(dog);
30
練習2
1 console.log( 1 + 2 + 3 + 4 + 5)の実行結果はどうなるか
> console.log( 1 + 2 + 3 + 4 + 5 )
15
2 console.log('1' + '2’ + '3' + '4' + '5')の実行結果はどうなるか
> console.log('1' + '2' + '3' + '4' + '5')
12345
3 問1と2の結果はどうしてそうなるか
型の問題から、1は数値として計算され、2は文字列として計算されたため。
4 JavaScriptのvar, let, constの再宣言、再代入の特徴を調べよう
(できれば)
varの場合
> var hoge1 = 10
> var hoge1 = 20
> hoge1 = 30
30
> console.log(hoge1)
30
特にエラーは起きない
letの場合
> let hoge1 = 10
> let hoge1 = 20
Uncaught SyntaxError: Identifier 'hoge1' has already been declared
> hoge1 = 30
30
> console.log(hoge1)
30
再宣言時にエラーになる
constの場合
> const hoge1 = 10
> const hoge1 = 20
Uncaught SyntaxError: Identifier 'hoge1' has already been declared
> hoge1 = 30
Uncaught TypeError: Assignment to constant variable.
> console.log(hoge1)
10
再宣言、再代入時にエラーになる
練習3
次の計算を行いましょう
a
> console.log(1038403 + 294383)
1332786
b
> console.log(29494 - 5460)
24034
c
> console.log(5.2 * 4.6)
23.919999999999998
d
> console.log(8.2 / 4.6)
1.7826086956521738
e
> console.log(39495 % 195)
105
f
> console.log(3 ** 5)
243
g
> console.log(2 + 4 / 2)
4
h
> console.log( (2 + 4) / 2)
3
i
> console.log( 5 + 9 + 5 / 2)
16.5
j
> console.log( ( (5 + 34 ) + 5 ) / 2)
22
練習4
以下の比較を行いましょう
a
> console.log( 1948 < 203 )
false
b
> console.log( 1053 <= 1000 )
false
c
> console.log( 4958 > 1000 )
true
d
> console.log( 5435 >= 5435 )
true
e
> console.log(29/4 === 36.25/5)
true
f
> console.log( 29/4 !== 36.25/5 )
false
g
> console.log( 145 === '145' )
false
練習5 FizzBuzz
for( let i = 1 ; i < 100 ; i++){
if (i % 15 == 0){
console.log('FizzBuzz');
}
else{
if( i % 3 == 0){
console.log('Fizz');
}
else{
if (i % 5 == 0){
console.log('Buzz');
}
else{
console.log(i);
}
}
}
}
i++
はi += 1
, i = i + 1
でも可能
別解: else ifを使った場合
for(let i = 1; i <= 100; i++){
if(i % 15 === 0){
console.log('FizzBuzz');
} else if(i % 3 === 0){
console.log('Fizz');
} else if(i % 5 === 0){
console.log('Buzz');
} else {
console.log(i);
}
}
練習6 九九表
for(let i = 1; i <= 9; i++){
let s = '';
for( let j = 1; j <=9 ; j++){
s += i * j + ' ';
}
console.log(s);
}
スペースが入るのは、数字を文字列として連結してみると1234みたいにスペースが入らない
だから、九九表を作るときは1つの答えに対してスペースを入れてマスを表す。
別解: 以下のようにすると桁が綺麗にできる
for(let i = 1; i <= 9; i++){
let s = '';
for( let j = 1; j <=9 ; j++){
let ans = i*j;
if( ans.toString().length == 1 )
s += ' ' + ans + ' ';
else
s += ans + ' ';
}
console.log(s);
}
こちらではさらに、桁数を補う必要がある為、計算結果が1桁の時にはスペースを一個多く表示することで表示する桁数を補っている
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
練習7 配列
1,2 配列の検索とアクセス
let ary = ["Green", "Red", "Yellow","Pink", "Blue", "White", "Gray", "Gold"];
let index = ary.indexOf("Pink");
console.log(index);
console.log(ary[index + 3]);
3
Gray
3 配列の合計と平均値
let ary = [322, 403, 59.56, 294, 266];
let sum = 0;
for( let i = 0 ; i < ary.length; i++ ){
sum = sum + ary[i];
}
let ave = sum / ary.length;
console.log('sum: ', sum);
console.log('ave: ', ave);
sum: 1344.56
ave: 268.912
練習8 関数
function add( a , b){
return a + b;
}
function max( a, b){
if(a < b){
return b;
}
else{
return a;
}
}
console.log(add(30,68));
console.log(max(4,5));
結果
98
5
Discussion