読者です 読者をやめる 読者になる 読者になる

望月いちろうのREADME.md

書き溜めておいた技術記事や旅行記のバックアップです。

JavaScript(Node.js)入門 - 文法編

Node.js入門 - 文法編

変数

宣言

変数を宣言するにはvarの後に半角スペースを置いて変数を宣言する。

var example;

セミコロンを続けることで複数の変数をまとめて宣言することもできる。 しかし最後に;を置くのを忘れないように

var test1,test2,test3,test4;

変数名を宣言した後に続けてイコールと代入したい値を置くことで、変数の宣言と代入を同時に行うことができる。

// 変数test1を宣言すると同時に1を代入
var test1 = 1; 
// 変数test2を宣言すると同時に"test2"を代入
var test2 = "test2";
 

JavaScriptでの変数の型は主に5つある。

数(number) 文字列(string) オブジェクト(object) 配列(array) *関数(function)

型の判別

typeofリテラルを使用する。判別したい変数の前にtypeofを記述して半角スペースを入れた上で変数を指定する

typeof test3

この変数の型が文字列型である場合

> 'string'

とこの変数test3の型が分かる。

数(number)

JavaScriptでの数値を扱う場合の基本型、整数・浮動点小数などを扱える。処理系が勝手に型を推論してくれるのでこちらから明示的に指定する必要はない。

基本的な四則演算に関しては

var a = 10;
var b = 7;
var c = 5;
足し算

演算子の+(半角)を足し合わせたい2つの数の間におけば良い。

a + b; //10 + 7, 答えは17
引き算

演算子の- (半角)を足し合わせたい2つの数の間におけばよい

a - b; //10 - 7, 答えは3
掛け算

演算子の*(半角)を掛け合わせたい2つの数の間に置けば良い

b * c // 7 × 5, 答えは35
割り算

演算子の/(半角)を割りたい2つの数字の間におけば良い

a / c // 10 ÷ 5, 答えは2

割り切れない数字の場合は浮動点小数に変換される。

a / b // 10 ÷ 7.答えは 

もしあまりのある割り算をしたい場合は工夫がいる。

割り算の余りを求める

演算子の%(半角)を割る側を右、割られる側を左にして置けばよい

a % b; // 10 ÷ 7, 余りは3
a % c; // 10 ÷ 5, 余りは0 

文字列(string)

ASCII、UTF-8などの文字列全般を扱う。変数を宣言する場合は"(ダブルスラッシュ)または'(スラッシュ)で文字列を囲めばよい。

var str1 = "test1";
var str2 = 'test2';
var str3 = 'test3';

2つ以上の文字列を結合したいときは+(半角を利用する)

str1 + str2; // test1test2
str1 + str2 + str3; // test1test2test3

文字列の文字数をカウントするには.lengthを変数の後に置けばよい

str1.length // 5

もし文字列の特定の文字にアクセスしたい場合は変数に[{文字の位置 - 1}]を添えるとよい。

str1[0]; // 一番最初の文字t

charAt(n)メソッドも利用できる

str1.charAt(1) // e

配列(array)

変数を順番に格納することができる。変数の型は特に指定されない。つまり、数も文字列もオブジェクトも関数も(!)要素に入れることができるし、配列の中に配列を入れることもできる。

配列を宣言すると同時に要素を挿入することができる。

var array1 = [1,2,"str",{}];

配列の要素は順番に添字で呼び出すことができる

array1[0]; // 1
array1[2]; // "str"
array1[3]; // {}

配列に要素を後ろから追加するにはpush()、前から追加するにはunshift()を利用する。

array1.push()
array1.unshift() 

逆に要素を削除したい場合はpop()を利用すると1番後ろの要素を消去することができ、shift()を利用すると一番前の要素を削除できる。

array1.pop()
array1.shift()

配列の任意の位置の値を変更したい場合はその位置を指定して代入を行えばよい

array1[1] = 5

オブジェクト

キー(その要素の内容を表す文字列)と値(すべての変数型を含む)のペアを使って複数の変数を収納できる。PHPで言う"連想配列"に似た構造を持っている。

var o = {"var1":1,"var2":"test","var3":[]};

オブジェクトの要素にアクセスするにはキーを指定する

o["var1"] // 1
o["var2"] // "test"
o["var3"] // []

もし存在しない値を指定した場合はundefinedが帰ってくる。

o["var4"] // undefined

新しく要素を追加したい場合やすでに存在する要素に別の値を代入したい場合はキーを指定して=で値を代入する。

o["var1"] = 2
o["var4"] = {} 

要素を削除するときはキーを指定した上でdeleteを利用する

delete o["var4"];
console.log(o["var4"]); //undefined

オブジェクトには無名関数(名前のない関数)を要素にすることができる。これは後で重要になる機能であるので覚えておくとよい

o["function"] = function () {console.log("well done!")};
o.function();

関数

任意の処理をまとめて実行できる。その構文は

function {関数の名前}({引数}){ //処理の内容 }

関数を定義するにはユニークな名前を定義する必要があります。

function example(){}

引数は関数に対して値を引き渡すときに利用されます。

function example(a){
console.log(a);
}

引数は0個でも構いません。

function test(){
console.log("hello world");
}

関数を実行するためには最初に指定した関数名と引数をセットにして呼び出す必要があります。

example("hello world");

結果

hello world

引数がない場合は丸かっこで閉じるだけでOKです。

test()

結果

hello world

引数は2つ以上指定することが可能です。その場合は,(コンマ)区切りで指定します。

function sum(a,b){
console.log(a+b);
}

関数の中で処理した結果を取得したい場合は返り値を指定することが可能です。その場合はreturnで返り値を指定します。

これは2つの数の足し算を行ってその結果を返す非常に簡単な関数です。

function sum(a,b){
return (a + b);
}

これを実行してその結果を変数resultに格納したいとします。

var result = sum(1,2);
console.log(result);

その結果をみるとresultに足し算の結果が格納されていることがわかります。

> 3

またresultを利用して値を返した場合はその箇所以下の処理が行われないことに注意して下さい

function multiple(a,b){
console.log(a);
return a*b;
console.log(a*b);
}

これを実行すると

var a = multiple(2,3);

console.log(a*b)の部分が実行されていないことがわかります。

> 2