μ's2年生と学ぶJavaScript入門 言語仕様編

Paradise Rhino!(仮)
 
JavaScriptの言語仕様を学びます。


もうちょいましなサブタイトルを絶賛募集中です・・・。


海未「例のコミュニティサイトですが・・・確かに、穂乃果たちのおかげで品質も良くなりましたし、改善は進んでいると考えてよいと思うのですが・・・」
ことり「何か気になるの?」
海未「サーバ側は堅牢にできていますし、それなりの負荷にも耐えられて、アプリケーションのバグも減ってきたのですが・・・どこか、地味ですよね」
穂乃果「でも、にこちゃんが画像たくさん貼ったり色付けたりして、けっこう派手にできてると思うんだけどな」
ことり「穂乃果ちゃん、あれは毒々しいっていうんだよ」
海未「そうではなくて・・・利用者が触る画面の方が、どうにも技術的な工夫が薄いような気がするのです」
ことり「あ、それは何となくわかるかも。ほとんど素のHTMLで書いてあるだけだもんね」
穂乃果「うーん、たしかにもっとかっこいいサイトってたくさんあるよね。すいーってやつとか、びよーんってやつとか」
海未「穂乃果の言うことはよく分かりませんが、将来的にもっとリッチなUI/UXを提供できると望ましいですね」
ことり「面白いだけじゃなくて、使用性とか満足性とかの品質特性を満たすのにも必要だね」
 
穂乃果「でもさ、あれってどうやって作ってるのかな?」
海未「そのあたりの基本になるのがJavaScriptですね。今回、それを勉強してみようと思って2人に集まってもらったのです」
ことり「でも・・・ことり、プログラムのことよくわからないよ?」
穂乃果「穂乃果もシェルくらいしか」
海未「ことりはあまり心配していませんが、穂乃果は全く当てにならないので・・・」
穂乃果「ひどいよ!そんなのってないよ!あんまりだよ!」
海未「・・・ですから、私が講師役をします。Elixirで一通りプログラミングの基礎は学びましたから」
穂乃果「おおっ!さすがだね海未ちゃん!」
ことり「海未ちゃん、かっこいい~♪」
海未(ふふ、ことりに褒められました・・・頑張る甲斐があるというものです)
海未「こほん。というわけなので、しばらく2人にはJavaScriptの勉強に付き合ってもらいます。良いですね?」
ことり「うん♪」
穂乃果「もっちろん!」


Part1:JavaScriptとは

海未「では初回なので、JavaScriptとはどんな言語なのかについて勉強してみましょう。そのレベルで色々な誤解や混乱があるようですから」 ことり「Javaって言語は聞いたことあるよ」 海未「それが大きな勘違いの元ですね

Part2:基本文法と変数

海未「では今回は、JavaScriptの基本文法を見てみましょう・・・といっても、極めて簡単なのですが」 穂乃果「簡単なの?よしっ!」 /* * 引数で与えられたメンバーが自己紹介する */ function intro

Part3:基本データ型

海未「それでは今回は、JavaScriptのデータ型について見てみましょう」 海未「JavaScriptのデータ型は大きく基本データ型(プリミティブ型)とオブジェクト型に分かれます。今回は基本データ型の話をしますね」 真

Part4:オブジェクト型

海未「ではオブジェクト型の説明にいきましょう」 穂乃果「オブジェクトって何なのかな?」 海未「JavaScriptのオブジェクトは、プロパティ名とその値の集合、と定義できるのですが、難しいので先に実例を見ましょう」 va

Part5:演算子

海未「今回はJavaScriptの演算子を見てみましょう。たくさんありますから覚悟してください」 穂乃果「えー」 代入演算子 海未「まずは代入演算子です。var kosaka = "honoka";みたいな文を何の説明も

Part6:条件分岐

海未「今回は条件分岐です。条件によって処理を場合分けする方法について学びましょう」 海未「JavaScriptの条件分岐構文はifとswitchの2つがあります」 穂乃果「シェルでやったifとcaseかな」 海未「ifか

Part7:例外処理

海未「おはようございます」 穂乃果「あ。おはよう海未ちゃん・・・あれ、なんか大丈夫そうだ」 ことり「ふあぁ・・・おはよう、海未ちゃん、穂乃果ちゃん」 穂乃果「おはようことりちゃん!寝不足?」 ことり「うん・・・昨日の夜、

Part8:ループ

海未「今回はループについて見てみましょう。ループは、同じ処理を何回も繰り返すことです」 海未「JavaScriptのループにはいくつかの種類があります」 for do...while while for...in for

Part9:関数

海未「今回は関数についてです。はいそこ、嫌な顔をしない」 穂乃果「うえぇ・・・」 海未「JavaScriptは関数型言語であるという解釈もあるようですから、関数はとても重要な概念になります。しっかり理解してくださいね」

Part10:数値と日付

穂乃果「ラブライブ!をよく知らないけどここ読んでくれてるみんなに朗報だよっ!」 ことり「私たちμ'sの活動が、2016年1月からNHK Eテレで放送されることになりました~」 海未「これを機会に、私たちの活動に興味を持っ

Part11:文字列

海未「今回は文字列です。それほど難しいところはないと思いますから、きちんと理解してください」 海未「基本データ型のところで文字列の話はしましたから、簡単に復習です。""か''で囲って文字列リテラルを書けました。+や+=で

Part12:配列

海未「今回は配列です。JavaScriptでは配列操作は非常によく使いますし、特に配列の反復操作はforやwhileのループ以上によく使うと思います」 海未「配列リテラルは以前見ましたが、改めて配列の作り方を見ておきまし

Part13:MapとSet

海未「それではデータ構造の最後として、MapとSetを見てみましょう。これらはECMAScript6で標準化されたものですから、環境によっては利用できない場合があります」 Map 海未「Mapはオブジェクトと似ています。

Part14:オブジェクトの作成

海未「オブジェクトについては、これまで何回か触れてきましたね」 穂乃果「オブジェクトリテラルとか、Arrayオブジェクトとかやったよね」 海未「・・・奇跡的に穂乃果が覚えているようなので、これまで説明した部分は軽く流すこ

Part15:オブジェクトの継承 地獄編

穂乃果「穂乃果、決めたよ」 海未「はい」 穂乃果「後で天国が待っているなら、穂乃果は地獄に身を投じるよっ!」 ことり「穂乃果ちゃん・・・!」 海未「よい覚悟です。それでこそ穂乃果、私たちのリーダーですね」 穂乃果「えへへ

Part16:オブジェクトの継承 天国編

海未「それでは前回の地獄編から一転、今回はECMAScript6がもたらした天国を見てみましょう」 海未「前回のサンプルコードを、新しい構文で書き直したものがこれです」 class Person { constructo

Part17:イテレータとジェネレータ

穂乃果「祝!!」 ことり「μ's!!」 ほのこと「「紅白歌合戦出場決定!!」」 海未「恥ずかしながら、ついにあの国民的歌番組のステージに立つことになりました」 穂乃果「前回の進撃の巨人みたいにお茶の間を凍り付かせないよう

Part18:メタプログラミング

海未「さて、今回で最終回になります。ProxyとReflectionという、メタプログラミングのための機構を見てみましょう」 プロキシ 海未「Proxyは、JavaScript言語が提供している何らかの処理に対して割り込


LINEで送る
Pocket


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です