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

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

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

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

jQuery

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

Q&A

解決済

2回答

4311閲覧

jQueryの $. の意味を教えてください。

Xyon

総合スコア11

JavaScript

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

jQuery

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

1グッド

3クリップ

投稿2019/04/27 04:39

初学者です。どうぞよろしくお願いします。

jQuery と $ は同じであること、
どちらも関数でありオブジェクトであることは理解しました。

ただ、コードを見ていると
$.xxx
といった記述を見受けるのですが、この $. の意味がわかりません。

お教えいただければ幸いです。
どうぞよろしくお願いいたします。

DrqYuto👍を押しています

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

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

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

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

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

m.ts10806

2019/04/27 06:05

具体的なコードを提示された方が良いかもしれません。$についてはそもそもを突き詰めると「変数に使える文字列のひとつ」でしかありませんので。
退会済みユーザー

退会済みユーザー

2019/04/27 13:42

ぞうしゃんは、相変わらず素っ頓狂な事をいっていまちゅねぇ…。
guest

回答2

0

ベストアンサー

jQuery.each()

JavaScriptの関数はObject 型であり、任意のプロパティを持つことが可能です。
例えば、jQuery.each() は、jQuery.each に代入された関数に過ぎません(静的メソッド)。

JavaScript

1jQuery.each = function each () { 2 // 処理 3};

Array.isArray()

静的メソッドという観点でいえば、Array.isArray() も同じ性質を持ちます。
ただし、Array.isArray()jQuery.each() では、descriptor 値が異なりますので、厳密には異なる動作になります。

JavaScript

1console.log(Object.getOwnPropertyDescriptor(jQuery, 'each')); // {value: ƒ, writable: true, enumerable: true, configurable: true} 2console.log(Object.getOwnPropertyDescriptor(Array, 'isArray')); // {value: ƒ, writable: true, enumerable: false, configurable: true}

標準の Array.isArray() と同じ挙動にするには、Object.defineProperty()isArray プロパティを定義する必要があります。

JavaScript

1Object.defineProperty(Array, 'isArray', { 2 value: function isArray (arg) { 3 // 処理 4 }, 5 writable: true, 6 enumerable: false, 7 configurable: true 8});

少々話が脱線しましたが、まずは、jQueryから一歩離れて、任意の関数オブジェクトのプロパティに関数を代入して、挙動を確かめる事をお勧めします。

Re: Xyon さん

投稿2019/04/27 05:14

編集2019/04/27 05:41
think49

総合スコア18156

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

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

Xyon

2019/04/27 06:39

jQuery.each() は、jQuery.each に代入された関数に過ぎません(静的メソッド)。 ↑この部分で頭の霧が晴れました! 感謝いたします、ありがとうございました。
退会済みユーザー

退会済みユーザー

2019/04/27 09:14 編集

質問者さんの質問からは「$.xxx の $. は何か」ということ以外は自分は読めませんでしたが、そこを飛ばして jQuery.each() と Array.isArray() の説明が始まっており、質問者さんがベストアンサーを付けたということはそれが求める答えだったようですね。 でも、なぜ「$.xxx の $. は何か」という質問から jQuery.each() と Array.isArray() の説明に飛べるのか非常に不思議です。 メールなど違うチャンネルでやり取りされていて、質問者さんが知りたいことがより具体的にわかるというような状況にあるのでしょうか?
think49

2019/04/27 10:16 編集

To: @SurferOnWww さん @Xyon さんと面識はありません。 "$.xxx" は「オブジェクトとプロパティの関係性」を知っていれば理解可能な範疇なので、どこかで見当違いをしている可能性を想定しました。 jQueryに触れた初心者は「"$" には特別な意味があって、jQuery特有の文法がある」と思い込みがちなので、標準的な静的メソッドの作り方をコードに表す事で「特殊ではない」と気が付けるのでは、と考えました。 基本的に、SurferOnWww さんの回答と趣旨は同じと思います。
退会済みユーザー

退会済みユーザー

2019/04/27 12:04

返答いただきありがとうございました。
guest

0

一般的な JavaScript の . と同じです。$.xxx の xxx には jQuery オブジェクトのプロパティ、メソッドなどを設定します。どういうものがあるかは jQuery の API Documentation を見てください。

イメージ説明

投稿2019/04/27 05:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問