Javascript初心者が頑張ってます
この記事はdots girls Advent Calendar 2015 - Qiitaの11日目の記事です
今回は
JS初心者の私が勉強して躓いたこと、ビックリしたことの話をします
よーし!ハードル下げるぞ!₍₍ (ง ˙ω˙)ว ⁾⁾
なんでJavascript
新卒でweb屋に就職して、普段はPHPしか触ってない。
新しい言語やろうかなーと思っても、Javascriptはカッコ(){}
が多いから嫌だとかいう謎理論で若干拒否していた。
でも今後の事も考え、Javascriptに触れなきゃ、出来なきゃマズイ気がしてきて、
サーバサイドもJSでいけるという最近の話を聞くと楽しそうに思えてきた!
気になったらやろう!の精神でチャレンジ
JSの勉強でやったこと
何をやろうと思った時にとりあえず思いついたものから
簡単に触ってみた
アプリケーションを作る
謝辞ジェネレーターってのを作った!
簡単なDOM操作とイベント受け取って処理するやつ
(jQueryだけどまぁいいか)
嫁(Bot)を育てる
どのご家庭にもいるBotにいろいろ機能拡張をしてJSの勉強としてた!
rssの取得や曜日の取得とかとか
なにより愛着湧いてきて非常にたのしーヽ(=´▽`=)ノ
継続しやすくてイイね!
JavascriptTrainingをやる
mixiが研修で使っている資料が公開されていると聞きつけやってみた!
最初のうちは特に躓くことなく進んでいったのだけれど...
後半が難しくなってきて、非同期処理とイディオム系で行き詰った
自分のできないところ分からないところ
課題が見つかりました
非常にやって良かったと思う
つまづいたところ、わかったこと
ここで、勉強してて衝撃を受けたものをいくつか紹介
上から順に読んでくれない
これは自分で色々つくってて躓いた話。つらみの非同期処理の話。
var result; function hoge () { //なんかちょっと重い処理 result = 1; } hoge(); console.log(result); // undefined
なんでー!!!と発狂してたけど、いろいろ調べるうちに分かってきた 長くなりそうなのでまた後日まとめる!
演算子のお戯れ
+
の役割
hoge = +'10' // 10 huga = 10 + '' // '10'
演算子の前後の変数に応じて変数の型が変わっちゃうよ(変数のキャスト)って話。
+
の前後に文字列があった場合、その演算は文字列結合になる
変幻自在か\(^o^)/型には気をつけねば\(^o^)/
論理演算
&&
と ||
の話。
0 || 'default' // 'default'
0はfalseなんだ、条件分岐の時にやらかしそう....
{} || 'default' // {}
どちらもtrue
なので前の{}
が返ってくる。前のほうが優先されるのか
知ってて得する?型の話
typeof function() {} // 'function'
function
なんていう型があるんだ!
確かに変数に関数を定義できちゃうから、そうなってもらわないと困るのか\(^o^)/
typeof [] // 'object'
配列は空でもobject
なんだな!びっくりだよ!
(配列空かどうか見るときめんどくさそう)
typeof undefined // 'undefined' typeof null // 'object'
null
ってグローバル変数で定義されているものかと思っていたよ
まとめ
主にJavascriptTrainingで気になったところを上げていきましたが、まだまだ分かってないことが多すぎです。
勉強し始めの頃は勢いで書いて動いて「やったー!」だったけど、一つ一つ見ていくと仕様が深いなーと思いました。
あと他の言語やっていると「あの言語ではこういうこと出来るのに。。。」とどうしても比較して投げ出したくなる。でもでもここで躓いて止まっててはいけない!
今度は公式のチュートリアルを見よう!そしていろいろ作ろう!
えもい!(おしまい)