初心者プログラマがガチムチプログラマを目指すぶろぐ

2017年の春から本格的にプログラミングを学び始めた学生です!よろしければ閲覧、ご指導のほどよろしくお願いいたします!!

JavaScriptに入門し始めたからまとめていくわ[part1]

JavaScript始めました

本当はインターンでずっと使ってたんですけど、 一切体系的に学んでおらず、 なぁなぁでコーディングをそろそろ脱却せねばと一念発起いたしました。

上司の方にこの本とかがいいんじゃない?と言われ、 即購入、その間30秒。 失敗したのは当日暇だったので 普通に大学で買えば当日から始められたのにということですね!
もう一つ失敗を付け加えると、この本は めっちゃJava学んでる前提で話進めてくる んですけど、筆者はまったくJavaに触ったことないことくらいですね!
ということで、今読んでる最中なのですが、 入門書に関しては読んだ後にレビューではなくて、 要点を読みながら書いた方が絶対いい気がするので、 章が終わるたびに書き足して行っています!

JavaScriptの概要

ブラウザ戦争とかいうものがあって、 ブラウザの独自拡張が繰り返された時代があったそうな、 JavaScriptもその戦争のせいか、 はたまた醜い人間たちの性か、 独自拡張性が高い言語になってしまったそうな。 これでは非常に使いづらいということで、ECMAScriptなる規格が発足。 現状では、JavaScriptが新しい機能を備えたバージョンを開発していき、 それに対してECMAScriptが順次それを規格化していくという流れだったような。 とりあえずは規格化されたECMAScriptを使っていれば安心ってことなのだな?

JavaScriptの基本仕様

JavaScriptの型について

JavaScriptの基本型

上記の5つが基本型となり、その他を全てオブジェクト型という。

基本型のオブジェクト型

適切な表現が思いつかなかったので意味不明な題名。 上記5つの基本型に対応するオブジェクト型、クラスが存在する。 しかし、暗黙の型変換(基本型 <=> オブジェクト型) によってその存在は認識していなくても 実質問題ないっぽい。 ので、頭の片隅にしまいながら、 基本的には忘れていて大丈夫っぽいというか、 積極的に忘れて暗黙の型変換を使っていくのがベストプラクティスなのだとか。

型変換(数値型 <=> 文字列型)のイディオム

クライアントにjsファイルをぶん投げる際、 なるだけ短い文章で書いた方が通信量が抑えられて良いということから、 暗黙の型変換を使った最短表記がしばしば用いられるそうな。 可読性は低そうだけどよく使うなら慣れておかねばだ。

// 数値から文字列
var n = 3;
n+'';

// 文字列から数値
var s = '3';
+s;

JavaScriptの式と文

式式文文式文文 む〜ら〜さ〜ぁき
どこかの歌手が頭から離れない章名。

呪文でしょうか、いいえ誰でも。。?

文の種類

基本的に文は;で区切られた一区画を指す。その種類として

  • ブロック文(複合文)({}で囲まれたもの)
  • 変数宣言文
  • 関数宣言文
  • 式文
  • 空文
  • 制御文
    • if-else文
    • switch-case文
  • 繰り返し文
    • while文
    • do-while文
    • for文
    • for in文
    • for each in文(JavaScript独自拡張)
  • break文
  • continue文
  • return文
  • 例外(throw)

基本的に意味不明で特殊なものはないかな? (for inとfor each inはなんか注意点いっぱいで使うの怖い)

式の種類

文と同じようにまずは列挙して同値演算子だけあとで取り上げます。 式はオペランド演算子に分けられるらしく、 その式を特徴付けるのは演算子なので実質演算子列挙になります!

同値演算子

JavaScriptの同値演算子のやばいポイントは、

  • ==

と、二種類の演算子があることに尽きる。
==だと暗黙の型変換込みでの同値演算子
===だと型も含めて同値であるかの判定を行うらしいぞ!