感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

JavaScriptの基礎の復習。

スポンサーリンク

JavaScriptの基礎をもう一度復習する。
一度こなれてからやることで、より深く基礎を理解できる。

JavaScriptの変数

JavaScriptは実はvarを省略して変数を宣言することができる。
var無しで宣言する変数を、「暗黙の宣言をした変数」と呼ぶ。

関数の外部でvar宣言した変数は「グローバル変数」と呼ぶ。
これは意図したグローバル変数である。

関数外かつvar宣言なしの変数を暗黙のグローバル変数という。
暗黙のグローバル変数は基本的には推奨されない。

JavaScriptで定数を宣言する場合はvarの代わりにconstを使う。

const FOO = "TEISU";
// > undefined

console.log(FOO);
// > TEISU
// > undefined

JavaScriptの関数

JavaScriptの関数は、クラスと無関係に定義できるので、表面的にはC言語PHPの関数、Perlのサブルーチンに似ているといえば似ている。
その実態というのは、他のものとは違っていて、それは今度勉強する。
関数の宣言は以下のような構文で書く。

function 関数名(引数,引数,...) {
	//処理
}

例1

console.log('1');
// > 1
// > undefined

function f() {
	console.log('2');
}
// > undefined
console.log('3');
// > 3
// > undefined
console.log(f());
// > 2

例2

function sum(a, b) {
	console.log(a + b);
	return Number(a) + Number(b);
}
// > undefined

sum(10,20);
// > 30
// > 30
console.log(sum(20,30));
// > 50
// > 50
// > undefined

例3

var sum = function(a, b) {
	return a + b;
}
// > undefined

console.log(sum(5,8));
// > 13
// > undefined

JavaScriptのオブジェクト

低レイヤで見たJavaScriptのオブジェクトは、Javaのオブジェクトと原則は同じ。
メモリ上の実体で、状態を保持し、プログラミングの操作の対象となる。
Javaの場合はクラスをインスタンス化したものだが、JavaScriptは言語仕様上クラスは無い。
JavaScriptのオブジェクトは名前と値のペアである。
名前と値のペアはプロパティと呼ぶ。

オブジェクトリテラルの文法

{
	プロパティ名:プロパティ値,
	プロパティ名:プロパティ値
}

当たり前だけど、これってJSONだよね。

JavaScriptのオブジェクトにメソッドを定義するには、

obj.func = function(a, b) {
	return a + b;
}
のように定義する。

var obj = {
	name:'sho',
	job:'programmer',
}
// > undefined

obj.sum = function(a,b) {
	return a + b;
}
// > [Function]
console.log(typeof obj);
// > object
// > undefined
console.log(obj.name);
// > sho
// > undefined

console.log(obj.sum(5,6));
// > 11
// > undefined

勉強した本

パーフェクトJavaScript (PERFECT SERIES 4)

パーフェクトJavaScript (PERFECT SERIES 4)


真の名著は読むたびに新しい発見があるというが、この本はまさにそれ。
パーフェクトJava同様に、読むたびに新しい発見がある。
JavaScript界の夏目漱石みたいな本。

感謝のプログラミング

今回で感謝のプログラミングは【538時間目】
10000時間まで、あと【9462時間】

私事ですが、今日から休暇をいただいておりまして、もう少ししたら飛行機に乗って旅行に行きます。旅行中にも2〜3時間は勉強を継続したいなぁ。できるかな。。