📙

JavaScript入門

3 min read

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やclassなど)

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

ログインするとコメントできます