JavaScript入門
JavaScript(JS) is 何?
- JSとは軽量なインタプリタ型のプログラミング言語である
- Webページでよく使用されるスクリプト言語であり、非ブラウザ環境でも実行される
- シングルスレッドで動的型付けをもつ
基本
- Webページの制御 → ブラウザで実行
- Webサイトの制御 → サーバーで実行(Node,js)
出力
console.log("Hello World");
console.log("<h1>Hello World</h1>");
// 改行なし
process.stdout.write("Hello world")
コメントアウト
// 同じ行の行末までがコメントとなる
/*
この間に挟まれた行はすべてコメントとなる
*/
変数
- 最初の1文字目は「英数字」または「_(アンダーバー)」
- 2文字目以降は「英数字」、「数字」または「_(アンダーバー)」
var 任意の変数名 = 代入する値 ;
var player = "勇者";
var number = 3;
var let constの違い
- varは再宣言、再代入が可能
- letは再代入が可能だ他再宣言はできない
- constは再宣言、再代入も不可能
基本的に「const」だけで成立する。
ただし数え上げの中でのみ「let」を使用する。
組込関数
JavaScriptが持つ特別な機能を呼び出す命令。
console.log(引数)
```js
引数とは、関数に与えるデータであり、関数に続くカッコの中に記述する。
複数の引数がある場合は、「,」(コンマ)で区切る。
```js
var randNum(戻り値) = Math.randum();
戻り値とは、関数の処理結果のデータ。
返り値と呼ぶ場合もある。
演算子
- 足し算
console.log(10 + 2); // 12
- 引き算
console.log(10 - 2); // 8
- 掛け算
console.log(10 * 2); // 20
- 割り算
console.log(10 / 2); // 5
- 剰余
console.log(10 % 3); // 1
比較演算子
- 等しい
「==」 - 等しくない
「!=」 - より大きい
「>」 - より小さい
「<」 - 以上
「>=」 - 以下
「<=」
データ型
JSにはデータ型という値の種類がある
- 数値型
- 文字列型
- 真偽型
- null
- undefined
- シンボル
- 配列
- オブジェクト
- 関数
データ型変換
文字列 → 数値
- parseInt(value);
- Number(value);
- value - 0;
- +value;
数値 → 文字列
- String(value);
- value.toString();
- value + “”;
条件分岐
ある条件に合致する場合にのみ処理を実行したい場合には「if文」が使用できる。
条件式に合致した時点での処理が実行され、それ以降の処理は実行されない。
if (条件式) {
// 処理 1
} else if (条件式2) {
// 処理 2
} else {
// 処理 3
}
条件式に複数の条件を設定したい場合には「論理積(&&)」「論理和(||)」を使うことができる
if (条件式1 && 条件式2) {
// 実行文 1
} else if (条件式3 || 条件式4) {
// 実行文 2
} else {
// 実行文 3
}
繰り返し処理
While文
whileとは「〜の間」という意味であり、条件式が「true」の間「{}」内の処理を繰り返す
条件式がいつか「false」になるように設計しなければ無限ループに陥ってしまう可能性があるため注意が必要
while (条件式) {
// 実行文
}
for文
while文と同様に繰り返し処理を実行するが、よりシンプルに記述することができる
for (変数の定義; 条件式; 変数の更新){処理}
for (var i = 0; i < Things.length; i++) {
Things[i]
}
for (var 変数名 in 配列名) {
→ 配列に存在するすべてのインデックスを取得できる
→ 配列の要素をすべて取得できる
※ 必ずしも0から順番に取得できるとは限らない
※ ECMA Scriptが使える環境でのみ可能
その他
配列名.forEach(変数名 => {
→ 配列の要素を一つずつ取り出すことができる
「 => 」 は「アロー関数」
———————————————
標準入力
process.stdin.resume();
process.stdin.setEncoding('utf8');
var input_string = "";
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
input_string = line
});
reader.on('close', () => {
console.log("hello " + input_string);
});
requireによってredlineという機能を使えるようにしている
readlineによって標準入力からデータを受け取れる
どこから受け取るかの設定も行える
reader.onの処理の部分は、
標準入力からデータを受け取るために書かなければならない。
reader.closeの処理の部分は、
受け取ったデータに対して何らかの処理をする場合に書かなければならない。
配列
var arr = [ ];
arr.pusu(value); // 配列に要素を追加する
要素を取り出したいときにはarr[ index ]というようにindexを指定することで要素ごとに個別に利用できる。(通常indexは0から順番に振られるが指定することもできる)
もし存在しないindexを指定した倍位にはundefinedという値が取得される。
Phpのようにundefined ofsetのエラーにならない点に注意が必要
要素数を取得したい場合には、「.length」を使う。
・要素の追加
arr.push() // 末尾に追加
Discussion