jQueryはjavascriptで記述されていますが、javascriptがわからなくてもjQueryを使えばjavascriptを全く意識することなく簡単にいろいろな機能を実装できるというのがjQueryの特徴だと思っています。
jQueryを使えばスライダーもクリックしたときの様々な処理もハンバーガーメニューも簡単に実装できます。
webサイトを作るときにjQueryがあればjavascriptがいらないように思ったのですがjavascriptの知識がないと実現できない要件というのはあるのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
まず整理しましょう.
jQueryがあればjavascriptがいらない
完全な間違いです.
jQueryはJavaScript言語で記述されたDOM操作ライブラリであり, 簡単に言うと開発便利キットです. 一方JavaScript言語はプログラム言語です.
NOTE:当初jQueryをフレームワークとして記述していましたが, ライブラリのほうが適切との指摘があったため記述を修正しています.
一般にライブラリはプログラム言語を用いて作られています. そのため, 単純にjQueryとJavaScriptを比較することに意味はありません. (jQueryを操作するためにJavaScriptが必要となるのだからJavaScriptの知識が必要ない訳がない)
jQueryを使えばjavascriptを全く意識することなく簡単にいろいろな機能を実装できる
これはむしろ「DOMを意識することなく様々な機能を実装できる」の間違いでしょう. 因みにDOMはHTML文書を操作するためのAPIです.
まずはこの「API」「プログラム言語」「ライブラリ」の関係を意識して下さい.
さて, 「javascriptDOMから書く必要がある要件」とは概ね次の二つが考えられます.
- jQueryだけでは実現できないDOM(WEBAPI)の機能を利用する場合
あなたはjQuery万能説を唱えられていますが, 世の中にはjQueryだけでは実現できない仕組み(canvas/SVG/webgl/サウンドe.t.c.)はたくさんあります. そのため仕方なく別のライブラリやフレームワークを導入したり, フルスクラッチでコードを記述することはよくあります.
- jQueryを導入するまでもない場合
jQueryは高機能なものの, そこまでの機能を必要としないケース(機能が単純な場合)もあります. またjQueryを導入することによるWEBパフォーマンスの劣化を嫌って敢えて直接DOMを操作することもあります.
投稿2017/12/23 07:30
編集2017/12/23 07:57総合スコア4756
0
DOM
javascriptがわからなくてもjQueryを使えばjavascriptを全く意識することなく簡単にいろいろな機能を実装できるというのがjQueryの特徴だと思っています。
jQueryは、そのほとんどがDOM APIを代替するものなので、「JavaScript」を「DOM」に置き換えます。
jQueryしか知らない人たち
私は逆にjQueryはDOM APIを理解しないと、使いこなせないと考えています。
jQueryしか知らない人は「理屈は分からないけど、このように書くと上手く動く」という知識で解決していくタイプです。
例えば、下記コードを書くと、「動的に挿入した要素でもclickイベントが働く」ということをその人は知っています。
JavaScript
1jQuery.on('click', '.foo', function () {});
しかし、理屈は理解していないのです。
ですので、「.html()
でノードを上書きすると、同じHTMLで書いているはずなのに内部で定義していたclickイベントが働かない!なぜ?」のように同じ原理で動かない不具合にも気が付くことが出来ません。
従って、その度に他人に質問をし、「このコードはこういう性質があるから、気を付けよう」とケース別に知識を増やしていく傾向があります。
私からすると、それはとても効率が悪い学習方法です。
DOMの基本さえ理解していれば、いくらでも応用が利くのですが、それを知らない故に「コード」と「コードが持つ性質」の対応関係を丸暗記しようとします。
また、jQueryしか知らない人は、jQueryで出来ることと出来ないことの境界線を知りません。
ですので、「~を実現するjQueryのコードを教えて下さい」と質問をします。
それがjQueryで出来ないことだった場合、回答不可能なわけですが、彼らはコードを欲しがります。
彼らは理屈を知らないので、「このコードを書くとこういう結果になる」という経過原理を無視したアプローチを求めます。
彼らはそのつもりがないのかも知れませんが、いわゆる丸投げ質問になりがちです。
何故か上手くいったことをスルーすべきか
最近の質問スレッドですが、本件も近い問題を抱えていると考えています。
「jQueryしか知らない人たち」は、コードを書いても何故上手く動くのかを理解していません。
彼らは上手く動いている部分だけを見て満足してしまい、上手く動かない部分(バグ)を見逃してしまう可能性があります。
通常はコードを書いてアルゴリズムを頭の中に構築して上手く動くように考えるものですが、彼らが理解している部分は表面上のものなので、深部(DOM)のアルゴリズムを考えることが出来ません。
jQuery と DOM
jQueryはそのほとんどがDOM APIで動作するライブラリです。
DOMを理解することはjQueryの内部動作を理解することに繋がります。
私としては、jQueryの前にDOMを学ぶことをお勧めします。
Re: yamagata_user さん
投稿2017/12/23 08:22
編集2017/12/24 03:04総合スコア18194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
jQueryを使えばjavascriptを全く意識することなく簡単にいろいろな機能を実装できる
ある意味正解だと思います
ただしjavascriptは汎用的な言語であり、jQueryの得意分野は
主にオブジェクトの掴み方とUIの表現でしかなく
jQueryの関数群として用意されていないものはたくさんあります。
(算術関数なんかはとくにそう)
jQueryでもし必要になった場合はjavascriptの記述を利用して
実行する必要があります。
また当然構文についてはjQueryはjavascriptのルールにしたがって
実行していますので「javascriptがいらない」というのは意味が通りません
投稿2017/12/23 07:28
総合スコア117734
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
5年以上前の話かな…。
jQueryもJSなので知らなくていいということはない。
teratailで扱う話題としては一番変化が激しいのがJSなので5年前レベルとは常識が変わりすぎてて話が通じない。
投稿2017/12/23 07:24

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
jqueryをダウンロードして、開発者ツールのステップ実行で動かしてみると、途中でjqueryのソースが動いてくれているのが分かります。
jqueryはUIやDOM操作など便利に実装できるツールですが、javascriptだけで表現することも可能です。
jqueryだけできればいいというのは間違いで、jqueryはサイトを重くしてしまう原因にもなりますし、jquery以外にもjavascriptのフレームワークはたくさんあります。どれを使うべきかを作るものによって考えて、その違いについて学んでいくというスタンスがベターかと思います。
投稿2017/12/24 09:13
総合スコア1161
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/23 07:46
2017/12/23 07:53
2017/12/24 02:18
2017/12/24 02:27