[勉強会][javascript] 「JavaScript勉強会をしてみましょう@名古屋(仮)」 のお知らせ

参加してきました。

内容

サイ本を読む。(読書会)

雑感

読書会自体がどんなものか分からず参加。
しかもサイ本持ってないから、issmさんに買ってきてもらう。
(issmさん、ありがとうございました。)

本読みながら、
firebugで動作確認しながら、
誰かが発言し始めててあーだこーだ言いながら、
あーだこーだ言った内容をfirebugで動作確認しながら、
また本を読む。

思った以上に楽しかったです。

こういう機会でもないと、あんな分厚い本読めないっすよ。。。

勉強になったこと

objectのプロパティの書き方

var hoge = new Object();
hoge = {
aaa:"123"
}

と書けるし、

var hoge = new Object();
hoge = {
"aaa":"123"
}

とも書ける。

プロパティ名をクオートで囲むのは、
コロンを含むプロパティ名の時に有効。

var hoge = new Object();
hoge = {
"a:a":"123"
}

その場合は、

hoge.a:a

ではエラーになるので、

hoge["a:a"]

と書く。

参照とポインタ?ポインタの定義?

これはよくわかんなかったけど、
面白そうだから後で調べてみようと思った内容。

この辺の話かな?

http://www.javareading.com/bof/logs/2001/msg00054.html

toStringとvalueOf

Dateオブジェクトの場合

var date01 = new Date();

console.log(date01.toString());
// Sat Mar 29 2008 16:46:49 GMT+0900 (JST)

console.log(date01.valueOf());
// 1206776809541
// getTime()と同じ値

object の比較

obj01 = new Object();
obj02 = new Object();

obj01.valueOf = function() {
return "aaa";
}

console.log(obj01 == "aaa");
// true

console.log(obj01 == obj02);
// false

変数の宣言について

i = 1;
var i = 2;
var i = 3;
var i = 4;
var i;

って書いてもエラーにならない。

スコープについて

var i = 1;

function test() {
return i;
var i = 5;
}

console.log(test());
// undefined

ブロックレベルのスコープは無い
ある関数で宣言されたスコープは、どのブロックで宣言されたかに関わらず「関数全体」で有効

function test() {
return i;
var i = 5;
}

console.log(test());
// undefined

感想

もっとJavaScript勉強しなきゃ。

JavaScriptに関わらず、もっとプログラム勉強しなきゃ。

次回も参加したいと思ってます。
よろしくお願いします。