Java script

JavaScript(ES6)を学ぼう

JavaScript(ES6)とは

JavaScriptはWeb開発において必須の存在です。

現在では、ほぼ全てのWebサイトでJavaScriptが使用されています。

2015年に公開されたES2015(ES6)は、JavaScriptの新しいバージョンで、

これからJavaScriptを学習しようとしている方は、
ES2015(ES6)に基づいたコーディングをおすすめします。

従来のJavaScriptより効率的にコードが書けるようになりました。

 

プログラムを実行してみよう

まずは、ES6のコードを実行してみましょう。
文字を出力(表示)します。

「console.log(“○○”);」というコードを書くと、
()の中の○○という文字が出力されます。

<コード>
console.log(“Hello World”);

<出力結果>
Hello World

 

console.log( )

console.log( )

コードの書き方をより詳しく見ていきましょう。
「console.log( ) ;」は、丸括弧 ( ) 内に入力された文字を出力するコードです。

また「Hello World」のような文字のことを文字列と呼びます。
文字列は、シングルクォーテーション( ‘ )または
ダブルクォーテーション( ” )で囲む必要があります。

文字列は、クォーテーションで囲む(※半角)

console.log(‘Hello World’);
console.log(“Hello World”);

文字列は、クォーテーションで囲まないとエラーになります。

console.log(Hello World);  <– これはエラー!

セミコロン

「console.log( ) ;」文の最後はセミコロン(;)で終わります。
文末にセミコロン(;)を必ず付けること。
 ※ コロン(:)ではありません。
セミコロンを忘れずにつけましょう。

console.log(“Hello World”);

コメントアウト

文頭に「//」を書くと、その行はコメントとみなされます。
そのため、プログラムとしては無視され、実行されません。
(コメントアウトと言います)

コメントは、どのような意味のコードであるかを記すメモとして使われます。

//console.log(“Hello World”);

//「Hello World」と出力します
console.log(“Hello World”);

<コード例>

java script console

 

計算してみよう

数値と計算

プログラミングでは、数値(数字)を扱うこともできます。
数値は文字列と違いクォーテーションで囲みません。

数値は足し算や引き算といった計算もすることができます。
足し算には「+」、引き算には「-」の記号を用います。
数値と記号はすべて半角で記述します。
全角ではエラーを起こすことがあります。

<コード例>
console.log(3);
console.log(5 + 2);
console.log(3 – 2);

<出力>
3
7
1

 

文字列と数値

console.log(5 + 2); は足し算の結果である7が出力されます。
一方、「5 + 2」にクォーテーションをつけると、
文字列と解釈されそのまま出力されます。

文字列と数値は明確に違うものであることを意識しましょう。

<コード例>
console.log(5 + 2);

console.log(“5 + 2”);

<出力>
7
5 + 2

<コード例>

java script 計算

 

計算してみよう(2)

掛け算「*」、割り算「/」

かけ算は「*」(アスタリスク)、割り算は「/」(スラッシュ)
を用いて計算します。

<コード例>
console.log(3 * 7);

console.log(6 / 3);

<出力>
21
2

剰余の計算「%」

「%」記号を使うと、剰余を求めることができます。

<コード例>(9割る2は、4余り1)
console.log(9 % 2);

<出力>
1

<コード例>

java script 計算

 

 

文字列の連結

文字列の連結

「+」記号を用いると、文字列同士を連結することができます。
左の図のように、「”横浜” + “みなとみらい”」とすると、
「”横浜みなとみらい”」という1つの文字列になります。

<コード例>
console.log(“横浜” + “みなとみらい”);

console.log(“A” + “B” + “C”);

<出力>
横浜みなとみらい
ABC

文字列と数値の違い

文字列と数値は違います。
“3” + “5” は「”35″」という文字列になりますが、
3 + 5 は「8」になります。

「文字列と数値は別物」です。

<コード例>
console.log(“3” + “5”);

console.log(3 + 5);

<出力>
35
8

<コード例>

java script 文字列の連結

 

変数とは

変数は、データ(値)の入れ物(箱)です。
箱についている名前が「変数名」であり、
箱の中に実際の値(文字列や数値など)が入っています。

変数の定義

変数は「let 変数名 = 値」として定義します。
プログラミングの「=」は「等しい」という意味ではなく、「右辺を左辺に代入する」という意味です。
「let」は「これから変数を定義します」という宣言で、その後ろに変数名を書き、値を代入します。

<コード例>
let name = “John”;

 

変数の使い方

変数の使い方は簡単です。
「”John”」という値が代入された変数nameを出力すると、
「”John”」という値が出力されます。

変数を使うと変数の部分は代入した値に置き換わります。

<コード例>
let name = “John”;

console.log(name);

<出力>
John

 

変数と文字列

変数はクォーテーションで囲みません。
「console.log(“name”);」のように変数名をクォーテーションで囲むと、
nameが変数ではなく「文字列」として認識され、
「name」とそのまま出力されてしまうので注意しましょう。

<コード例>
let name = “John”;

console.log(name);
console.log(“name”);

<出力>
John
name

<コード例>

java script 変数

 

変数の役割

変数の特徴

変数は、「文字列」や「数値」とまったく同じように扱えます。
代入されている値が、
文字列の場合は他の文字列と連結することができ、
数値の場合は計算に用いることができます。

<コード例>
let name = “山田”;

console.log(name + “さん”);

let number = 11;
console.log(number + 5);

<出力>
山田さん
16

なぜ変数を使うのか

プログラムの中には多くの値が登場します。
プログラムを書く時は、
それらの
値の変更に効率的に対応しやすいように
そして値を間違いのないようにすることが求められます。

それのための仕組みが変数です。
変数には以下のようなメリットがあります。

変数を使うメリット
1.同じ値を繰り返し使える
2.変更に対応しやすい
3.値の意味がわかりやすい

変数のメリット

「同じ値を繰り返し使える」「変更に対応しやすい」
という具体例を見てみましょう。

似た文章を何度も書くのは面倒ですが、
変数を使えば同じ値を繰り返し使え、
楽にコードを書くことが出来ます。

また文章が後ほど変更されても、変数を用いていれば、
代入する値を変更するだけで全ての変更に対応できます。

 

<変数を使用しないコード例>

console.log(“山田さん、おはようございます”);
console.log(“鈴木さん、おはようございます”);
console.log(“佐藤さん、おはようございます”);

「おはようございます」の部分を「こんにちは」に変える場合、
3か所すべてを変更する必要がある

<変数を使用するコード例>

let text = “おはようございます”
console.log(“山田さん、” + text);
console.log(“鈴木さん、” + text);
console.log(“佐藤さん、” + text);

「おはようございます」の部分を「こんにちは」に変える場合、
変数に代入する文字列を変更するだけで良い

 

変数の命名ルール

変数名(変数の名前)は自由に決めることができます。
できるだけ分かりやすい名前をつけるようにしましょう。

また、ES6では変数の名前にいくつかのルールがあります。
適切な変数名を付けるように意識しましょう。

◎良い例
number … ◎英単語を用いる
date … ◎英単語を用いる
userName … ◎2語以上の場合は大文字で区切る(キャメルケース)

X悪い例 X工ラーが出る △望ましくない
1number … X 数字開始
first_name … △ アンダースコア「_」(スネークケース)

namae … △ ローマ字
名前 … △ 日本語

<コード例>

java script 変数

 

変数の値の更新(1)

変数の更新

変数は、一度代入した値を変更することもできます。
一度値を代入した変数に、その後再び値を代入すると、
後に代入した値で変数の中身が上書きされます。

定義する時と違って「let」は必要なく、
「変数名 = 新しい値」と書けば値が変更されます。

 

<コード例>
let name = “山田”;

console.log(name);

name = “鈴木”;
console.log(name);

<出力>
山田
鈴木

変数の更新のイメージ

下の図で変数の更新のイメージを見てみましょう。
プログラムは上から順に実行されるので、後で代入された値で変数の中身が更新されます。

<コード例>
let number = 7;

// numberの値は「7」

number = 9;
// numberの値は「9」

number = 10;
// numberの値は「10」

<コード例>

java script 変数

 

 

変数の値の更新(2) 変数自身を更新する

すでに定義している変数numberの値(7)に3を足す場合。
numberに3を足して、再びnumberに代入します。
「=」の右側のnumberは値に置き換わり、
計算された結果が、左のnumberに代入されます。

変数自身に代入するイメージ

<コード例>

java script 変数

 

こちらでもOK

基本形     省略形
x = x + 10  –>  x += 10
x = x – 10  –>  x -= 10
x = x * 10  –>  x *= 10
x = x / 10  –>  x /= 10
x = x % 10  –>  x %= 10

<コード例>

java script 変数

 

定数とは

変数と定数の違いについて
定数はletの代わりにconstを用いて定義します。

定数の定義 

const name = “john”;

const : 定数の宣言
name : 定数名
“john” : 代入する値

定数と変数の違い

変数は1度代入した値を更新することができます。
定数は値を更新することはできません。

変数 – let –

let name = “John”;
console.log(name); // 出力結果: John

name = “Kate”;
console.log(name); // 出力結果: Kate

・変数は代入されている値を更新することができる!

定数 – const –

const name = “John “
console.log(name); //出力結果: John
name = “Kate”;
console.log(name);  <–  Xエラー!

・定数は一度代入された値を更新することができない!

<コード例>

java script 変数

 

テンプレートリテラル

ES6では、文字列や定数の連結には、「+」記号以外に
「テンプレートリテラル」という連結方法があります。

テンプレートリテラルを用いると、
文字列の中に定数(変数)を埋め込むことができます。

テンプレートリテラルを用いた連結

const name = “大谷さん”;
console.log(`こんにちは、${name}さん`);

こんにちは、大谷さん

テンプレートリテラルの書き方

文字列の中で「${定数}」とすることで、
文字列の中に定数や変数を含めることができます。

この時、文字列全体を
バッククォーテーション(`)で囲む必要があります。

※シングルクォーテーション(’)ではありません。

また、複数の変数や定数を埋め込むことも可能です。

<コード例>
const name = “大谷さん”;

const age = 24;
console.log(`${name}は${age}歳です`);

大谷さんは24歳です

<コード例>

 java script テンプレートリテラル

 

 

条件分岐

if文

プログラミングにおいて
「ある条件が成り立つときだけある処理を行う」
という
プログラムを条件分岐と言います。

if文の書き方

if文を用いると
「もし○○ならば●●を行う」
という条件分岐が可能になります。

ifの後ろに条件式を書き、
それが「成り立つ」場合の処理を{ }の中に書きます。

if(条件式) {
処理   <– 条件式が成リ立てば実行される
}   <–セ三コロン(;)は不要

<コード例> 条件式が成リ立てば実行される
const number = 12;
if(numberが10より大きい場合) {
console.log(“numberは10より大きいです”);
}

実際の条件式のif文のコード

例)「number > 10」の部分は
「定数numberの値が10より大きい」
という意味の条件になります。

const number = 12;
if (number > 10) {
console.log (“numberは10より大きいです” );
}

「numberの値が10よリ大きい」という条件

定数numberには12が代入されているので、
この条件は成り立ち、処理が実行されています。

<出力>
numberは10より大きいです

 

if文を書くときのポイント

if文を書くときは、インデントをするようにしましょう。

インデントとは日本語で「字下げ」を意味します。
きれいにインデントするとコードが見やすくなります。

インデントを入れることでifの処理がどこからか一目でわかります。
tabキーを押すと、インデントすることができます。

const nmber = 12;
if (number > 10) {
 console.log (“numberは10より大きいです” );
}

<コード例>

java script if条件分岐

 

if文と真偽値

条件式は真偽値で置き換えられます。
if文は条件式がtrueであれば処理が実行され、
falseであれば実行されないということがわかります。

if文の条件式がtrueの処理の流れです。

<コード例>
const number = 12;

if(number > 10) {
 console.log(“numberが10より大きいです”);
}

const number = 12;
if(true) {
 console.log(“numberが10より大きいです”);
}

大小を比べる演算子

条件式に使った「>」は比較演算子と呼ばれる、大小比較の記号です。

「a < b」は、
aがbより小さいときtrue、
大きいときfalseになります。

また「a <= b」とすると、
aがb以下のときtrueになります。

大小を比べる

a < b : aはbより小さい
a <= b : aはbより小さいまたは等しい(aはb以下)
a > b : aはbより大きい
a >= b : aはbより大きいまたは等しい(aはb以上)

<コード例>
const number = 12;

console.log(number < 30); //true
console.log(number <= 12); //true
console.log(number > 12); //false

<コード例>

java script if文と真偽値

 

真偽値と比較演算子(2)

等価演算子

比較演算子には、左と右の値が等しいかを
調べるものもあります。

「a == b」はaとbが等しければtrue、
等しくなければfalseになります。

「a != b」はその逆です。
aとbが
等しくなければtrue、
等しければfalseになります。

等しいかを比べる

a == b : aとbが等しい
a != b : aとbが異なる

<コード例>
const number = 12;

console.log(number == 12);  //true
const name = “Jhon”;
console.log(name != “Jhon”);  //false

 

等価演算子の注意点

数値「12」と文字列「”12″」は異なるデータですが、
等価演算子では同じものとして扱えるように変換が行われます。

いつもそうとは限らないので注意が必要です。

<コード例>
const number = 12;

console.log(number == 12);//true
console.log(number == “12”);//true
文字列”12″を数値12返還してから比較しているのでtrueとなる

厳密等価演算子

厳密等価演算子を使うと、
文字列「”12″」と数値「12」を
異なるデータとして扱うことができます。

特に理由がなければ、
厳密に比較できる厳密等価演算子を
利用するようにしましょう。

厳密に等しいかを比べる

a === b : aとbが厳密に等しい
a !== b : aとbが厳密に異なる

<コード例>
const number = 12;

console.log(number === 12);//true
console.log(number === “12”);//false
文字列”12″と数値12をそのまま比較しているのでfalseとなる

<コード例>

java script 真偽値と比較演算子

 

else

条件が成り立たない場合の処理

if文の条件式が成り立たない場合に、
別の処理を行う場合です。

例えば、numberの値が10より大きくない場合には
「10以下です」と出力する方法。

elseの書き方

if文に「else」を組み合わせると
「もし〇〇なら●●を行う、そうでなければ■■を行う」
という処理ができるようになります。

if文の条件がfalseの場合、elseの処理が実行されます。

if (条件式) {
 条件が「true」の時の処理
} else {
 条件が「false」の時の処理
}

elseのコード

elseを使った実際のコードを見てみましょう。

numberの値が10より大きいかどうかで
処理を分けたい場合にif文のみを使用した例です。
この場合、2つのif文を作成する必要があります。

一方、else文を用いると、
1つの条件分岐で同じことを実現できます。

eldeを使わない場合 複数のif文が必要

<コード例>
const number = 7;

if (number > 10) {
 console.log (“numberは10より大きいです” );
}
if (number <= 10) {
 console.log (“numberは10以下です” );
}

eldeを使う場合 1つの条件式で成立する

<コード例>
const number = 7;

if (number > 10) {
 console.log (“numberは10より大きいです” );
}
else {
 console.log (“numberは10以下です” );
}

<コード例>

java script else 条件が成り立たない場合の処理

 

 

else if

条件を追加する

ifとelseだけでなく、さらに条件を追加したい場合。

例えば「10より大きい」という条件を満たさない中で、
「5より大きい」という条件で処理を分岐する方法。

const number = 7;

「定数numberの値が10より大きい?」
Yes –> “10より大きいです”
No –> 「定数numberの値が5より大きい?」
  Yes –> “5より大きいです”
  No –> “5以下です”

 

else ifの書き方

ifとelseの間に「else if (条件)」を追加することで、
if文に条件分岐を追加することができます。

if(条件式1) {
条件式1が「true」の時の処理
}else if(条件式2) {
条件式1が「false」、条件式2が「true」の時の処理
} else {
どちらの条件式も「false」の時の処理
}

else ifのコード

条件式2がtrueなので「else if」の中の処理が実行されます。

<コード例>
const number = 7;

if (number > 10) {
 console.log (“numberは10より大きいです” );
} else if (number > 5) {
 console.log (“numberは5より大きいです” );
} else {
 console.log (“numberは5以下です” );
}

<出力>
numberは5より大きいです

 

<コード例>

java script else if

 

 

複数の条件式

かつ

複数の条件を組み合わせる方法。
まずは「かつ」についてです。

「かつ」は「&&」で表します。
「条件1 && 条件2」は「条件1かつ条件2」という意味です。

複数の条件がすべてtrueならtrueになります。
「10より大きいかつ30より小さい」は、「10 < x < 30」と書くことは出来ません。
このようなときは「&&」を使いましょう。

かつ — &&

true && true –> true
true && false –> false
false && true –> false
false && false –> false

xが20の時 x>10 && x<30 … true
                 true    true
xが5の時 x>10 && x<30 … false
               false       true

または — ||

true || true –> true
true || false –> true
false || true –> true
false || false –> false

xが5の時 x<10 || x>30 … true
                true      false
xが20の時 x<10 || x>30 … false
                false      false

組み合わせの具体例

if文を使った「かつ」の具体例です。
「number >= 10」も「number < 100」も
ともにtrueなので、処理が実行されています。

<コード例>
const number = 31;

if (number >= 10 && number < 100) {
 console.log (“numberは2桁です” );
}

<出力>
numberは2桁です

<コード例>

java script 複数の条件式

 

switch文(1)

switch文とは

if文以外の条件分岐の方法として、
switch文があります。

信号機の色を表す定数colorの値によって処理を分岐したい、
という例です。

このように、ある値によって
処理を分岐する場合にswitch文を
用いることができます。

定数 color

値が”緑” –> 「進めます」
値が”黄” –> 「要注意」
値が”赤” –> 「ストップ」

switch文の書き方(1)

「switch(条件の値){ 処理 }」
とすることでswitch文を書くことができます。

定数colorを定義したうえで、
switch文を使ってcolorの値によって
処理を分岐させていく例です。

switch文の書き方

switch (条件の値) {   //変数や定数など

}   <– セミコロンは不要

具体例

const color = “赤”
switch (color) { //定数colorの値に応じて処理を分岐する

}

switch文の書き方(2)

switch文の中にcaseを追加することで
処理を分けることができます。

定数colorの値が「赤」であるときに
「ストップ!」という文字列が出力されるようにします。

 ※breakについては後ほど説明します。

書き方

switch (条件の値) {
case 値1:
「条件の値」が「値1」と等しい時の処理
break;
}

switch { }の中にcaseを追加して処理を分ける

具体例

const color = “赤”
switch (color) {
case “赤”:
console.log (“ストップ!” );
break;
}

定数colorの値が”赤”の時に実行される

switch文の書き方(3)

switch文では分岐の数だけcaseを追加していきます。
右の図では2つ目のcaseの値に「黄」が指定されており、
定数colorの値が「黄」である場合には
「要注意」と出力されるようになっています。

switch (条件の値) {
case 値1:
「条件の値」が「値1」と等しい時の処理
break;
case 値2:
「条件の値」が「値2」と等しい時の処理
break;
}

分岐の数だけcaseを追加する

const color = “赤”;
switch (color) {
case “赤”;
console.log(“ストップ!”);
break;
case “黄”;
console.log(“要注意”);
break;
}

定数colorの値が”赤”の時に実行される
定数colorの値が”黄”の時に実行される

switch文の注意点

また、switch文ではbreakが非常に重要です。
breakとはswitch文を終了する命令です。

breakがないと、合致したcaseの処理を行った後、
その次のcaseの処理も実行してしまいます。

そのため、switch文を使うときにはbreakを忘れないように気をつけましょう。

break文がない場合

const color = “赤”;
switch (color) {
case “赤”;
console.log(“ストップ!”);
                                <– breakなし
case “黄”;
console.log(“要注意”);
break;
}

<出力>(異なる内容が2つ出力される)
ストップ!
要注意

<コード例>

java script switch

 

switch文(2)

switch文 – default

switchの条件の値がcaseの値と一致したとき、
その部分の処理が実行されます。

caseのどれにも一致しなかった時、
defaultのブロックが実行されます。

defaultはif文のelseに似たようなものです。

switch (条件の値) {
case 値1:
   |
case 値2:
   |
case 値3:
   |
default:
  処理
break;
}

「条件の値」が値1、値2、値3のどれとも異なる時

const color = “黒”

switch (color) {
case “赤”:
   |
case “黄”:
   |
case “緑”:
   |
default:
console.log(“colorの値が正しくありません。”) 
break;
}

switch文 – default

このようなswitch文の性質を利用すると、
if, elseifによる分岐が多く複雑な場合、
switch文で書き換えるとシンプルで読みやすいコードにできます。

if文を用いた条件分岐

if (条件式1) {
処理
} else if (条件式2) {
処理
} else {
処理
}

switch文を用いた条件分岐

switch (条件の値) {
case 値1:
処理
break;
case 値2:
処理
break;
default:
処理
break;
}

defaultを用いて、どのcaseにも合致しなかったとき、
「凶です」と出力してください。
※breakを用いて処理を終了させることを忘れないでください。

<コード例>

java script switch