当方Javascriptを学びたいのですが
書籍を2冊程度読んだり、少し使ってみたりしても簡単なモノは分かるようになりましたが、関数がめちゃくちゃ多い感じがするし、どんだけ奥が深いのかと日々感じています。
そこで、javascriptをマスターしている方たちは、どんな書籍を読んだりして
あるいは普段どんなscriptを書いて経験を積んでいるのでしょうか?
小生に経験者の方のオススメの書籍や、普段どんなプログラムを書いて経験を積んでいるのか教えて頂けると嬉しいです。よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
マスターしているというほどではなく私もまだまだ学習中ですが、
JavaScriptという言語には学びにくさがあると思うので、その部分をお答えします。
結論から言うと、JavaScript(以下長いのでJSと略)以外の言語を学ぶと、JSも分かってくると思います。
これについて、いやJSの学習法が知りたいのだ、と思うでしょうから、なぜそうなのかご説明します。
C++などもそうですが、JSはマルチパラダイム言語です。
手続き型、オブジェクト指向型、関数型と複数のパラダイムで書けます。
そのため書き方が複数あり、複雑で分かりにくくなっていると思います。
だからマルチパラダイム言語は、実用向きですが、学習向きではないと考えます。
JSがLL系言語なのに意外と難しく感じるのは、JS自体のトリッキーさもありますが、
背景のオブジェクト指向(以下OOと略)や関数型指向が難しく、
またマルチパラダイムのJSで意図的にひとつの指向で書くのが難しいのだと思います。
逆にひとつのパラダイムを中心にしている純粋型(に近い)言語は学習に向きます。
OOであれば、たとえばJavaのほうが学習しやすいです。
JavaがOO言語であること、OOPとJavaの普及期が重なるので、
学習書が豊富であること、などから学習しやすい環境があります。
JSはオブジェクトの書き方だけでも複数あって混乱します。
JSのプロトタイプベースのOOより、JavaのクラスベースのOOのほうが、
分かりやすいと思います。先にJavaでOO自体を身につけてからのほうが、
クラスとプロトタイプの違いだけに集中すればいいので、分かりやすいと思います。
>オススメの書籍
一般的には「サイ本」(オライリーの本)と言われています。
JSだけを知りたいなら、そうだと思いますが、
特定の言語の本だけでなく、OO、関数型など
アルゴリズムの本もたくさん読むのが、
遠回りなようで近道だと思います。
そして、JSだけだとそういう学習書が少ないので、
他言語を学ぶというのもひとつの手だと思います。
>どんなプログラムを書いて経験を積んでいるのか
私自身は、原点回帰の意味で、SmalltalkでOOPを、Lispで関数型指向を学んでいます。
それぞれの言語自体が難解なので、人にはあまりおすすめできませんが、
極端な例を示されるとかえって分かりやすいかと思って、例として挙げました。
投稿2015/07/16 18:30
総合スコア5592
0
こういう系の質問に、私は「おすすめする書籍はない」とお答えしております。
何故かと言うと、私の「オススメ」と貴方様の「オススメ」は別もの、つまり、私に「あう」書物が必ずしも貴方様に「あう」とは限らないからです。
例えば、世界でよく教科書として扱われている(らしい)、「O'Reilly」のJavaScriptを読むのが一番!とオススメしても、アナタに合うとは限りません。
(実際私はこの本の書き方が嫌いです。)
他にも「ドットインストール」で動画を見てみればよいのでは?
と言っても、この方法が気にいるかは貴方様次第ですね?
ですので、実際に書店に行き、パラパラとページを捲って「これなら読める!」と購入するのが一番だと思います。
次に私の勉強法(独学)は、とにかく「作る」ことだと思っています。
例えば、「非同期通信を行いたい!」と思うと、では「Ajaxを使ってみよう!」とその使い方の勉強を行えます。
そしてその時に、書物を読む、サイトを読むだけと言った勉強法は、身につきません。ええ、断じて身につきません。(言い過ぎ?)
実際に、
読む→コピペで動かしてみる→値を変えて、関数などの動作を確認する
という作業が本当に身につきます。
さて、結論としてですが、
- おすすめの書物はありません
- 実際に実装して学んでいく
- 分からなければ何度もググる
というのが私の回答です。
蛇足。
最近初めてLinuxのサーバというものを触ってみたのですが、
とりあえず動かす→「動いたー!」→放置→しばらくして起動→「げっ!?ブルートフォースアタックされてるやん!?」
ということがありました。
そこからFirewallの設定方法を調べたり、sshを切ったりと様々な設定を学びました。
やはり一度行ってみるということが大切だと思います。
投稿2015/07/16 17:33
総合スコア2004
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
下記の URL を開きます。
https://teratail.com/tags/JavaScript
「未解決」のタブを選択します。
JavaScript のコーディングに関する質問を探します。
質問を読んで、その回答を考えます。
もしわからなければググるなりして調べます。
回答を書き込みます。
他にも回答がついていれば、自分の回答との違いを見比べてみます。
これを繰り返せば、そのうちそこそこ書けるようになるかもしれません。
投稿2015/07/17 06:24
総合スコア4514
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
関数が多いといってもESの範囲では100も無いでしょうし、これは自然と覚えることが出来ます。
各種WebAPIまで全部覚えることは不可能に近いですが、どんな機能のWebAPIがあったかだけでも覚えておけば困りません。
毎回調べていくうちによく使うAPIに関しては覚えられます。
まあ初心者のうちはなにか新しい物に出会ったり、疑問を持ったら検索して学ぶことの繰り返しで、勉強のネタは尽きないと思います。
脱初心者したかなと思ったら、MDNのようなまとめサイトやブログ等から吸収していくといいでしょう。
そして最終的には仕様書を読むことになります。
投稿2015/07/17 00:06
編集2015/07/17 00:12総合スコア100
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/17 15:17
0
英語の書籍ですが、次のものをお勧めします。
A Smarter Way to Learn JavaScript http://www.amazon.co.jp/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C/
amazon.com の レビューでは、 星5つ (855 レビュー) で評価がとても高いです。
あるいは 本屋にいって、いろいろな本を眺めてみて、自分にあっていそうな本を買ってくるとよいです。
ともかく 言語を学ぶときは、まずは 基本を書籍でじっくりと学ぶとよいです。
web での検索や github などでのコードを読むことも役に立ちます。
でも、まずは基礎をかためておかないと、それらの記事やコードの良し悪しを取り違えてしまうことがあります。
投稿2015/07/17 21:02
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/18 15:55
2015/07/18 23:51
0
自分は一部のソフトで自動化制御用にjavascriptを使った程度なのであまり参考にならないかもしれませんが、以下のサイトにまとめられているような事柄では結構悩みました。
ttp://www.yunabe.jp/docs/javascript_class_in_google.html
もしこのあたりのことをまだ意識されていないようでしたら、暇な時にでも調べてみることをお勧めしたいです。
投稿2015/07/16 17:27
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/17 15:18