JavaScript勉強会「js workshop sapporo vol4」に行ってきた
JavaScript1行も書けないので、ぐっちーさん、ナガさんが主催しているJavaScript勉強会に行ってきました。
js-workshop-sapporo.connpass.com
4回目となる今回は関数を学ぶ回でした。
初心者も対象にしているとのことですが、課題は初心者向け~なかなかレベルが高いものまでバランスよく用意してくれています。
基本はもくもく会なのですが、講師もたくさんいますし近くにいる人同士で聞きあったりしながら進めるのでわからなくて終わることはなかったです。
で、私の出来高はというと、びっくりするくらい全然書けませんでした(泣)。 9個あるお題のうち2つ目も完成しない有り様です。うう…。
最近コード書くたびにもうプログラマーと名乗れないレベルまで書けなくなっている事実を突きつけられて凹みます。。。
ということで初心に返るべく、参加していなかった1~3回目をきちんとやってから4回目の課題に臨むことにしました。
以下は1~3回目の課題を勉強していて気になったことの自分メモです。
vol.1
__proto__
課題やっていたらでてきた。
obj.__proto__
はObject.prototype
のことらしい。
図で理解するJavaScriptのプロトタイプチェーン - Qiitaがわかりやすかった。
typeof演算子を使ってArrayの型を判断しようとするとobjectっていわれる
qiita.comを見てみると、厳密な型判定はできないらしく、Object.prototype.toString.call()などで判断するやり方のほうがよいことがわかる。
つまり、typeofで判定しても支障ないものがなにかをわかった上で使わないといけない。
vol.2
falsyな値
JavaScriptでは暗黙的にfalseとみなされるものたちがある
- 空文字(””)
- 数値の0
- NaN(Not a Number)
- null
- undefined
等価演算子(==)と同値演算子(===)の違い
等価演算子(==)は左右の値が同じ場合にtrueを返す。 型変換はJavaScript側で勝手にやってくれる。
同値演算子(===)は厳密な比較をして、型がも値も同じ場合にtrueを返す。厳密等価演算子ともいう。自分は「厳密等価演算子」という表現のほうがしっくりくる派。
===
は最初見たとき、普通にタイポかと思った。
進捗
課題をやったソースはGitにあげた。今はvol2の課題3までやったのでvol2が終わるまであと6個。
2020/1/24 :課題4まで終わった。
2020/1/26:課題10まで終わったのでvol.2は完了。
2020/2/1:vol.3の課題7まで完了。やっぱり手を動かすとわからないことがだんだんわかるようになるのを実感。
2020/2/3:vol.3の課題を全て完了。vol4の課題4まで完了。まだまだ配列を使いこなせてない感じある。クロージャーがわかりかけてきた(わかったとは言っていない)
2020/2/4:vol.4の課題を全て完了。4回目までを通してJavaScriptってかなりいろんな書き方ができるんだなと思った。
まとめ
5回目までに、4回目までの課題を終わらせるぞ。