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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

9回答

7665閲覧

JavaScript、jQueryのどちらを学習するべきでしょうか?

makoto-n

総合スコア436

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

1グッド

2クリップ

投稿2015/10/30 15:53

編集2015/10/30 16:38

JavaScript、jQueryをこれから学ぼうと思っています。
html/cssはほぼ学習済みです、もしわからない個所がでてきても即座に対応できると思います。

JavaScriptもしくはjQuery、どちらから学ぶべきですか?
現状での考えは、だいたいのことをjQueryで簡素化させていくんだろうなという程度です。

身につけるべきものがどちらなのかに論点をあてています。

ちなみに自分は将来的にphpやjavaも同時に扱ったweb開発に手を出したいです。
どちらもほとんどわかりません。
これの次に学習する予定です。

条件分岐などはわかっていますので、問題はその先の構文やコマンドの学習です。
どちらを学べばよいのか、助言をください。

-----追記----------------------------------------------------------
JavaScriptの基本とはどれぐらいできればよいでしょう?
曖昧な質問ですみません。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答9

0

JavaScriptとjQueryは同格ではありません。
JavaScriptはプログラミング言語で、jQueryはそのライブラリです。
つまり、JavaScriptあってのjQueryなのです。

ですので、JavaScriptをある程度学習してから、jQueryに入るのがいいかと思います。

投稿2015/10/30 16:43

shiolier

総合スコア1156

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

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

0

ベストアンサー

大変失礼な書き方ですが、
JavaScriptとjQueryのどちら?という質問をされるということは、新生エンジニアさんという事でしょうか。

さて、その前提として、
まずは、今の現状がどうなのか?という所となりますが、

もし、仕事上で「jQuery」使ったら、便利そう、早くできそう、納期間に合いそう、、、という仕事と直結していて、切羽詰まっている事態でしたら、jQueryをザクッと、覚えて、コピペで乗り切るという手があるかと思います(それでソフトウェアとして会社が許すかどうかは上司に聞きましょう、当然私のチームでは許しませんが。)。

ただし、エンジニアとして本当に生きていくなら、
以下をぜひ。

1、もし、JavaScriptとjQueryの違いが、よく分かっていないなら、まずはそれぞれどのような物なのかを学ぶべきです。先輩に聞くもよし、グーグル先生もよし、すでにこの板にもいろいろ書かれていますし。その結果、必然的にどちらを先に学ぶのかは理解できるはずです(先にも書きましたが状況次第では・・・ですが)。

2、もちろんその答えとして時間の余裕があるなら、まずはきちんと、JavaScriptを覚えるべきです。

3、どこまで覚えれば?という質問がありしたが、まずは言語体系について、きちんと学びましょう。これを学んでも何もできないので、本当に面白くないですが・・・。
JavaScriptの悪いところでも、良いところでもある、柔軟性が高いので、なんとなく動く所の影響か?言語体系がぶれぶれなエンジニアが最近非常に多く、汚いプログラムを書くエンジニアが増えている気がします。少なくともGoogle先生では無く、きちんと書籍で学んでください。1言語きちんと学べば、他の言語は比較的簡単にマスターできます。

4、jQueryはあくまでも、誰かがつくった便利ツールでしかありません。この板の他の方の投稿にもありますがいつまで使えるかわかりません。jQueryは、JavaScriptで書けるというか、書かれています。つまり、JavaScriptをきちんとマスターすれば、jQueryと同じ事ができます。もっと言えば、jQueryは無くとも、JavaScriptですべて書けるはずです。

JavaScriptで書けないから、jQueryで!
ではなく、
JavaScriptで書くのはちょっと面倒だから、誰かの作ったjQueryで!
が本質です。面倒で無ければ、自分で作る方が、いつまでも使えます。

という、この私が記載した文章の意味がまずは、わかるようになるのが、最優先かと思います。
その上で再度、熟考して、どちらを学ぶべきか考えてください。

あと、話は戻りますが、どこまで覚えれば・・・
では、GoogleMapと同じ物が作れるまで、、、
なんと定義されたら、途方に暮れますよね。

なので、まずは作りたい物、(仕事上で?)作らなくてはいけないもの、が、作れるように学習するのがよいかと思います。ただ、先にも書いたとおり、言語体系だけは、座学で良いので、きちんと、書籍などで学習してください。
間違いを記載したサイトが(すごく!)多いですので、言語体系の学習には、まちがえてもGoogle先生の検索で解決しないでください。

では、がんばってください。

投稿2015/11/02 05:31

ItoTomonori

総合スコア1283

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

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

makoto-n

2015/11/02 12:25

ありがとうございます。 頑張ってみます。
guest

0

ちなみに自分は将来的にphpやjavaも同時に扱ったweb開発に手を出したいです。
どちらもほとんどわかりません。
これの次に学習する予定です。

そういうことであればJavaScript中心がいいんじゃないかなぁ、と思います。
jQueryはプログラミングが本職ではないWebデザイナー/コーダーにとっては今後も
当面は手軽にUI実装できる便利なツールとして支持されていくでしょうけど、
本職さんたちの間ではそろそろオワコン...という感じになっているらしいですし、
jQueryにの便利さに慣れてしまって生JavaScript書くのが苦痛になってしまうと
その先のステップに進めなくなってしまう恐れがなくもないと思われますので。。。

あくまでJavaScriptメインでしっかり勉強して、jQueryは息抜きにちょっと触るとかくらいの比率でいいんじゃないでしょうかねー。

あ、ちなみに私は本職じゃない側の人間なので、未だjQueryどまりです(^_^;)

投稿2015/10/30 18:12

aKusano

総合スコア3763

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

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

0

jQuery がオワコンになって久しい・・・とかスレッドが立っていたので・・・
とはいえ、すぐになくなるわけではなく、、、、

① JavaScript を一通り覚える。
② jQuery を覚える。

先にjQuery だとコピペ達人になる可能性があるのでまずは基本を。

投稿2015/10/30 16:34

ipadcaron

総合スコア1693

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

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

0

好みの問題かもしれませんが、個人的にはjQueryをやりながら分からないJavascriptの構文を覚えていく方がよいですね。動くものを作りながらの方がモチベーションが保てるので。
jQueryで色々と動くものを作るのはとても楽しいと思いますよ。

投稿2015/10/30 16:16

takyafumin

総合スコア2335

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

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

0

個人的な意見ですが…

両方ですね。

たまに見かける汚いコードはおそらく…コピペのコードでしょうけど、
jQuery の記法の中に、ピュアなJavaScrpt が混ざっていたりすると、
なんだかなあって…思います。

例えば、こんな感じ。

javascript

1window.onload = function() { 2 $(".className").each(function(){ 3 if (condition) { 4 document.getElementById('id').value=''; 5 } 6 }); 7}; 8 9$(function(){ 10 $(selector).pluginName(); 11});

JavaScriptの基本とはどれぐらいできればよいでしょう?

やりたいことをとりあえず動くコードで実現できる程度…かな。
可用性・保守性の高いコードを書くのはその次…

投稿2015/10/30 16:13

編集2015/10/30 16:51
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

JavaScriptとjQueryという単語が出てきたら、
・htmlの内容を書き換えるDOMの知識
・非同期(ajax)通信の知識
を勉強したいという事になると思います。

DOMについては、まずxmlの理解が必要です。
実際に扱うのはhtmlになりますが、htmlの理解はDOMとは関係のない知識(例えばformタグとかaタグのタグ要素ごとの理解)も含まれるため、これを切り分けて学習するためにxmlの知識のみでよいです。

私が数年前に勉強したサイトを貼っておきますが、今もっとわかり易いサイトがあるかも。
http://www6.airnet.ne.jp/manyo/xml/

非同期については、Ajaxを勉強してみてください。
「Ajax」でネット検索できたものをかたっぱしから読み漁るのでもいいですし、
入門書を数冊読むのでも良いです。(下世話ですが、図書館利用すれば買わなくて済みます。)

さて、最後にご質問の回答ですが、
言語やライブラリ(例えばjQuery)の知識を学ぶより、
それらが取り扱う物の仕組みを学習したほうが良いです。

なぜなら、JavaScriptは、なんとなく書いたものが、だいたい思惑通りに動いてくれるので、
人によって存在する千差万別な主義主張が反映されやすく、
jQueryはその主義主張の一種だからです。
実際の現場では、参画するプロジェクトによって書き方がまばらだし、画面ごとにまばらで、
それどころか、同ページ内でも書き方が人によってバラバラです。

それなので、言語を勉強するよりも仕組みを学習したほうが良いというわけです。

投稿2015/11/01 22:36

編集2015/11/01 22:38
TetsujiMiwa

総合スコア1124

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

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

0

どちらか一つしか学んじゃいけない縛りがあるならJavascriptです。
しかし、もし学習時間が惜しいからより末永く使えるほうだけ学びたい等なら
あえて将来無駄になるかも知れないjQueryを推します。
jQueryのほうが簡単にそれらしく動くものが作れますので、学習序盤のモチベーションを保つのが容易です。
またjavascriptを殆ど学習してなくても作れるようなサンプルもたくさん有ります。
少し高度な部分に踏み込むとjQueryのリファレンスだけでは苦しくなりますので、その辺りから始めるのが結局javascriptの学習においても近道じゃないかと思います。
最終的にはjQueryが工夫している様を、jQueryのコードを眺めて読み解いたら、javascriptの理解もより進むと思います。

ただjQueryは将来的にほかのライブラリに圧されて、シェアが小さくなったり消えていく可能性があるので、javascriptを本道に据えるなら、ある程度使えるようになった所で止めてもいいかも知れません。
それにその場合でも別のライブラリやフレームワークに置き換わっているだけだと思うので、jQueryの理解はまったくの無駄にはならない気がします。

投稿2015/10/30 18:32

hirohiro

総合スコア2068

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

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

0

JavaScriptの

DOM

  • document.querySelector
  • document.querySelectorAll
  • Node.appendChild
  • Element.setAttribute
  • Node.removeChild

EventTarget

  • addEventListener
  • removeEventListener
  • dispatchEvent

および、Array,Object,prototypeの取り扱い方法は最低限、使い方を覚えてください。
html、cssを使うのであれば、述べた順番に重要度が高いと感じています。
意味について考えるより、実際コードを書き、どういう動きをするのか、どういう使い方をするのか、体系的に学習しておくべきです。

上記はjQueryと言わず、JavaScriptの他のライブラリでも根幹になる技術です。
同時に正しいJavaScriptリファレンスの場所を覚えるための通過儀礼でもあります。
使い方が分からなければここで質問するのも良いですし、検索に慣れれば、記事を見つけて解決するほうが早くなります。
先に済ませておいて、損はないでしょう。

投稿2015/10/31 05:53

編集2015/10/31 05:57
horse_n_deer

総合スコア452

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

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

think49

2015/11/01 23:24

> Node.appendChild > Element.setAttribute > Node.removeChild これらは全て prototype 上にあるメソッドなのではないでしょうか。"." で繋ぐと静的メソッドのように見えます。 個人的には他にも下記メソッドを習得してほしいところです。 - Document.prototype.createElement - Document.prototype.createDocumentFragment - Document.prototype.createTextNode また、setAttribute を覚えるよりも各要素ノードの属性を参照するプロパティ(ext: HTMLAnchorElement#src, HTMLSelectElement#value, HTMLTab#leSectionElement#rows ...)を覚えた方がよいと考えます。 CharacterData.prototype.data は存在すら知らない人も多い印象ですが、活用すれば楽に書けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問