// 関数を定義
function display() {
let d = new Date();
let h = d.getHours();
let m = d.getMinutes();
let s = d.getSeconds();
document.writeln(h + "時" + m + "分" + s + "秒");
}
display(); // 関数を実行
時計を更新してみましょう。
// 関数を定義
function display() {
let d = new Date();
let h = d.getHours();
let m = d.getMinutes();
let s = d.getSeconds();
document.writeln(h + "時" + m + "分" + s + "秒");
}
setInterval(display, 1000); // 1000ミリ秒毎に関数を実行
変数
値(数値や文字列等)を入れる入れ物
自由に名前(変数名)を付けることが出来る
var name = "Tam"; // 名前は Tam
var age = 17; // 年齢は 17歳
let address = "高松市"; // 住所は高松
※var と let どちらでも変数を定義できますが、できる限り let を使いましょう。
変数の型
JavaScript は「動的型付け」で「弱い型付け」の言語です。
代入する変数に型を指定する必要はありません。
型が異なる場合、暗黙の型変換を行うことがあります。
let age = 17; // 変数 age に数値型の 17 を代入
age = "17"; // 変数 age に文字列型の "17" を代入
age = age + 1; // 文字列型の変数 age に数値型の 1 を連結して "171" になる。
let a = 1;
function test() {
let a = 2;
}
test();
console.log(a);
スコープ2
以下を実行すると、何が表示されるでしょうか?
function test() {
let a = 1;
{
console.log(a);
let a = 2;
console.log(a);
}
console.log(a);
}
test();
スコープ3
以下を実行すると、何が表示されるでしょうか?
function test() {
var a = 1;
{
var a = 2;
}
console.log(a);
}
test();
変数宣言
var と let どちらでも変数宣言が可能です。
let は ES2015(ES6) で新しく追加された記述法です。
let は再宣言不可で変数の有効な範囲(スコープと言います)も分かりやすく改良されています。
let の方がコーディングミスを防ぎやすくなっています。
(前のスライドでも説明していますが、)出来るだけ let を使いましょう。
算術演算子
加算: +
減算: -
乗算: *
除算: /
余算: %
let a = 2 + 3 * 4;
console.log(a);
let b = 5 - 6 / 3 + 7;
console.log(b);
let c = 10 % 3;
console.log(c);
代入演算子
let a = 2;
a = a + 3;
a += 3; // a = a + 3 の省略形
let b = 10;
b = b * 10;
b *= 10; // b = b * 10 と省略形
代入演算子2
インクリメント: a = a + 1 の部分は a++ や ++a とも記述できます。
デクリメント: a = a - 1 の部分は a-- や --a とも記述できます。
let a = 1;
a++; // a = a + 1;
console.log(a);
a--; // a = a - 1;
console.log(a);
console.log(a++); // 表示した後にインクリメント
console.log(++a); // 表示する前にインクリメント
文字列連結演算子
let str = "香川" + "県";
console.log(str);
let loc = str + "高松市";
console.log(loc);
let name = "Tam";
let age = 17;
let msg = name + "さんは" + age + "歳"; // 数値は自動で文字列に変換されて結合
console.log(msg);
比較演算子1
比較演算子
意味
==
左右が等しければ true 、それ以外は false
>
左が右より大きければ true 、それ以外は false
<
左が右より小さければ true 、それ以外は false
>=
左が右以上のとき true 、それ以外は false
<=
左が右以下のとき true 、それ以外は false
!=
左右が等しくなければ true 、等しいとき false
※注意: => や =< といった比較演算子は間違いです。
比較演算子2
比較演算子
意味
===
左右の「値」と「型」がどちらも一致すれば true 、それ以外は false
!==
左右の「値」と「型」どちらかが一致しなければ true 、それ以外は false
※ == や != との違いは、型チェックも行うことです。
思わぬバグを防ぐためにも、できるだけ === や !== を使うようにしましょう。
論理演算子
基本
true(真)または false(偽)
論理演算子
AND「&&」:左右の両方が true のとき、全体を true とする
OR「||」:左右のどちらかまたは両方が true のとき、全体を true とする
NOT「!」:「!」の後の式の論理を反転する
let x = 1;
let y = 1;
let result1 = (x == 1) && (y == 2);
console.log(result1);
let result2 = (x == 1) || (y == 2);
console.log(result2);
let result3 = !((x == 1) && (y == 2));
console.log(result3);
配列変数
変数が列になったもの
複数の値を一括で扱える
「変数名[添字]」で指定
添字は定数でも変数でも良い
let students = ["tanaka", "sato", "suzuki"];
console.log(students[0]);
let index = 2;
console.log(students[index]);