質問: 初学者です。どうぞよろしくお願いします。 jQuery と $ は同じであること、 どちらも関数でありオブジェクトであることは理解しました。 ただ、コードを見ていると $.xxx といった記述を見受けるのですが、この $. の意味がわかりません。 お教えいただければ幸いです。 どうぞよろしくお願いいたします。
回答: ### jQuery.each() * jQuery.each() | jQuery API Documentation JavaScriptの関数は**Object 型**であり、任意のプロパティを持つことが可能です。 例えば、`jQuery.each()` は、`jQuery.each` に代入された関数に過ぎません(静的メソッド)。 ``` jQuery.each = function each () { // 処理 }; ``` ### Array.isArray() * Array.isArray() - JavaScript | MDN 静的メソッドという観点でいえば、`Array.isArray()` も同じ性質を持ちます。 ただし、`Array.isArray()` と `jQuery.each()` では、descriptor 値が異なりますので、厳密には異なる動作になります。 ``` console.log(Object.getOwnPropertyDescriptor(jQuery, 'each')); // {value: ƒ, writable: true, enumerable: true, configurable: true} console.log(Object.getOwnPropertyDescriptor(Array, 'isArray')); // {value: ƒ, writable: true, enumerable: false, configurable: true} ``` 標準の `Array.isArray()` と同じ挙動にするには、`Object.defineProperty()` で `isArray` プロパティを定義する必要があります。 * Object.defineProperty() - JavaScript | MDN ``` Object.defineProperty(Array, 'isArray', { value: function isArray (arg) { // 処理 }, writable: true, enumerable: false, configurable: true }); ``` 少々話が脱線しましたが、まずは、jQueryから一歩離れて、任意の関数オブジェクトのプロパティに関数を代入して、挙動を確かめる事をお勧めします。 Re: Xyon さん