質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

5回答

1654閲覧

javascriptの学習方法

matilda007

総合スコア12

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

2グッド

2クリップ

投稿2016/12/27 02:48

来年度から某web制作会社にフロントエンドエンジニアとして入社します。
実務経験はほとんどなく、入社後、周りについていけるか不安です。
残り3ヶ月と短い期間ではなりますが、やれることはやっておきたいと思っています。

そこで、みなさんが、JSを学ぶにあたって、参考になった本やWEBサイトを教えていただけないでしょうか。。。また、どのような学習方法をしたのか教えて欲しいです。
よろしくお願いいたします。

popobot, edom18👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

Web制作会社のフロントエンドエンジニアとJavaScriptということなので、おそらく最先端の技術が採用されている可能性が高いですね。その辺り界隈のテクノロジーはここ数年で大きく様変わりしてきており、現在も変遷の激しい分野です。
したがって、日本語で出版されている書籍の情報は新しいものに対応していない可能性が高く、海外の電子書籍がお勧めです(以下に代表的なサイトを紹介しておきます)。

電子書籍であれば持ち運びも便利だし、検索やコードのコピーも容易だし、セールも頻繁にやっており値段もかなり安いですよ。
英語が苦手だとしても、どのみち避けては通れないと思うので、英語と技術の両方の勉強だと思いましょう。

そして何よりも、公式サイトのマニュアルやドキュメントにしっかりと目を通すことが大切です。
jQueryやReact、Angularなど、最近ではチュートリアルやサンプルが非常にわかりやすくてしっかりしているものが多いため、まずは勉強しようと思う技術の公式サイトを最初に見る癖を付けましょう。どんな技術でも一次情報が大切です。

最後にコードは自分で書いて動かして、単に動いたからOKではなく、仕組みや背景、なぜそうなるのか、なぜそれが必要なのか、そういったことをひとつひとつきちんと理解していくようにしましょう。

投稿2016/12/27 03:04

編集2016/12/27 12:47
amadablam

総合スコア402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matilda007

2016/12/28 16:57

amadablamさん 回答ありがとうございます。 ゲームなどの制作もしている会社なのでレベルは非常に高いと思います… 電子書籍を読むならiPadがいいのでしょうか? 英語は中学生レベルなので、js勉強よりも英語の勉強が先かもしれません…笑 公式サイトのマニュアルやドキュメントにしっかりと目を通すようにしたいと思います。
amadablam

2016/12/29 00:09 編集

電子書籍はiPadでも読めますが、読むことよりも、そこに書かれていることを実際にコードを打ちながら理解していくということが大切です。PDFでPCにダウンロードし、実際にプログラムを書いて動かしながら勉強するようにしましょう。 この世界、英語のドキュメントを読む力は本当に大事です。技術書の英語は小説などと違ってわかりやすく書かれているため、辞書を使いながら少しずつでも勉強していきましょう。 頑張ってください。
guest

0

回答者になって質問に答えるというのはいかがですか?

質問に答えようとすると、中途半端な理解では難しく、少しでも不明なところがあれば徹底的に調べて、必要があれば実際にコードを書いて検証するということが必要です。

それはホントに勉強になると思います。自分がここや他のサイトで回答しているのはそれが理由の一つです。

投稿2016/12/27 04:29

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matilda007

2016/12/28 16:16

SurferOnWwwさん 回答ありがとうございます。いろんな人のつまづいてる所を知るのも勉強だと考えています。可能な範囲で回答できたらと思います!
guest

0

フロントエンドエンジニアです。

本や勉強方法は他の方がお話されているので割愛します。
個人的にjavascriptに限らず何かを理解するためには言葉の意味や例文をしっかり考えるといいかもしれません。

例えば、javascriptで、jqueryを使った例文を作れと言われて作れますでしょうか?
僕が思いついたのは「jqueryはjavascriptで複雑に書いていた処理を簡単に、かつ色々なブラウザで同じように動く事ができるjavascriptのライブラリである」です。

例えばSassだったら「CSSのメタ言語であるSassをSASS記法で書いて実装しています。」などです。

おそらく暫く色々な実装方法や技術を勉強していった後に上のように一つ一つの言葉に対して何か例文を作って覚えると理解が深まるかもしれないです!

がんばってください!

投稿2016/12/27 04:07

編集2016/12/27 04:09
MasakazuFukami

総合スコア1869

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matilda007

2016/12/28 16:21

MasakazuFukamiさん 回答ありがとうございます。 どちらかというとjqueryで記述したコードを、生のjavascriptに書き換える自信がありません…笑 Sassの記述経験がないので、タスクランナー系を使用して何か作る経験が必要だと考えています。
MasakazuFukami

2016/12/29 02:19

すいません僕の伝え方が悪かったです。 jqueryで記述したコードを生のjavascriptに書き換えるとか、sassの記述経験がないからタスクランナーを触ってみるなどは非常にいいことだと思います! ただ、僕がお伝えしたかったのは、プログラミングに限らず物事を学ぶときにはその物事や言葉の意味を理解して使用するほうがさらなる理解に繋がるので効率的に学習が進むのではないでしょうかということです。 みなさんがおっしゃっているように作りたいものを作る、がむしゃらに作ってみるというのも非常に大事なことだと思います。 他のコメントでもおっしゃっられているようにmatildaさんが勉強したいことが決まっているのであればそれを勉強されるのも非常に素晴らしいです。 また、僕がプログラミングをしてきて得た経験的には、ある技術をある程度触ることが出来る条件って ①その技術がなぜ開発されたかなどの書かなくても学べる概要 ・実際に書くことで理解できる技術の概要 の2つを理解できたときだと思います。 jqueryの例でいうと ①生のjavascriptで書くと単純なことをしたくても複雑で長い記述になり、ブラウザ感での挙動の際などの対処も大変だからそれを解決するために生まれた言語 ②$('element').on('click', function(){...})みたいな感じで書ける と言った感じです。 同じようにreactの例でいうと ①コンポーネントという概念でviewを作成する。差分レンダリングで効率的にDOMの再描画、ライフサイクルが充実していて開発しやすい、他にも。。。 ②ES2015だとReact.Componentを引き継いでviewを作っていく などです。 長くなってしまいましたが、実際に触ってみること、その技術の概要を理解して人に説明できること、この2つを意識すると効率よく技術が学べると思いますので頑張ってくださいーー!
guest

0

個人的におすすめしている学習法です。

まず、どんなに簡単なものでもいいので「自分がほしい機能」を探します。
これはなんでもいいです。
例えば、JavaScriptであればブックマークレットという、ブックマークから実行できるものがあります。
そこに、ページの一番下に移動する、みたいな簡単なスクリプトを仕込んでおくとスマホで見ているときとかに地味に便利です。

こうした「自分がほしい機能」を探して実際にそれを実装していくと、自分がほしい機能のため、どういうものを作ったらいいのかが分かりやすく、かつ作ったあとに成果になりやすいという点があります。

それから、プログラムの学習は本当に途方もないもので、人間の一生を費やしても到底学びきれるものではありません。
つまり、「やりたいこと」を実現する方法に絞って学んでいかないと、途端につらくなってしまう、ということです。
なので、やりたいこと、便利になりそうなことを探してやるのがおすすめです。

あと、それを通して学んだこと、気づいたことをぜひブログに書いてまとめてみてください。
実際、自分が理解したと思っていたものが、ブログを書こうとしたときに手がとまり、意外と細部まで理解できていないことに気づく、ということは往々にしてあります。
逆を返せば、ブログにしっかりまとめることができれば、それはある程度知識として身についた、と言うことができると思います。

副次的な効果として、後々、学習したことを忘れたときに(ほぼ確実に忘れます)自分の記事を読み返すことで、そのときに学んだことを鮮明に思い出しやすい、というものもメリットのひとつです。

まとめると、

  1. やりたいこと、作りたいことをベースに何か作ってみる(大小関わらず)
  2. それをブログなどにまとめる

です。

投稿2016/12/27 03:26

edo_m18

総合スコア2283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matilda007

2016/12/28 16:39

edo_m18さん 回答ありがとうございます。 個人的に「やりたいこと」は ・シームレスな画面遷移(ajax) ・SPA(angular,reactなど) ・canvasを使ったパーティクル表現など(create.js,pixi.js) ・threejsを使った3D表現 ・tweenmax.jsを使った要素のアニメーション といった高度なものです…一体何から手を出したら…といった感じです。もともとは動画関係のクリエイターだったので、アニメーションや3Dをやりたいと考えています。 まずはポートフォリオサイトの構築からだと考えています。
edo_m18

2016/12/28 17:03

なるほど。それくらい明確にやりたいことがあるのであれば、あとはそれを分解して、やりたいことを実現するために必要なものをひとつずつ作っていく感じがいいと思います。 例えばCanvasで円だけ描いてみる。 次はふたつ以上の形を描いて、さらにそれを合成表示してみる、とかですね。 基礎無くして応用なし、なので基礎をしっかりやっておくと応用はわりとすぐです。
guest

0

edo_m18様と同様に、私も習うより慣れろをおすすめします。
本当に何もわからない状態であれば、数値を変更するだけとか文字を変更するだけ
対象を変更するだけという程度の修正を出来合いのものを使って慣れていくところから

次にかんたんな機能、(クリックしたらアラートを表示する等)を作っていく。
多少慣れた時点ではコピペは一切しない縛りで常に手打ちで
慣れていくという方法が覚えるのは早いと思います。

投稿2016/12/27 03:57

jdbb

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matilda007

2016/12/28 16:24

jdbbさん 回答ありがとうございます。 わからない所をネットで調べて、コードをコピペする癖がついてしまっているので、コピペ禁止でこれからやっていこうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問