python, C++と使用してきて,javascript独特な記述方法について困ったので,以下に纏めた.
In a nutshell
.
はドット演算子とよばれる,オブジェクトや配列などのプロパティやメソッドにアクセスするための演算子である.
詳細な説明
JavaScriptにおける .
(ドット)は,主にオブジェクトのプロパティやメソッドを呼び出すために使用される.例えば,AA.BB.cc
というコードがある場合,それは次のように解釈できる.
-
オブジェクトのプロパティアクセス
-
AA
はオブジェクトであり,その中にBB
というプロパティが存在する. -
BB
はさらにオブジェクトまたは値を持ち,その中にcc
というプロパティが存在する. - この場合,
AA.BB.cc
は,まずAA
オブジェクトのBB
プロパティにアクセスし,次にそのBB
プロパティが持つcc
プロパティにアクセスすることを意味する.
-
-
オブジェクトのメソッドアクセス
-
AA.BB.cc
のcc
が関数であった場合,AA.BB.cc()
はその関数を呼び出すことを意味する. - 例えば,
AA.BB.cc
がfunction() { return "Hello"; }
という関数であれば,AA.BB.cc()
は"Hello"
を返す.
-
具体例
Hello.World は Hello オブジェクトの World プロパティにアクセスして,その値である "Hello, World" を返す
// オブジェクトのプロパティへのアクセス
const Hello = {
World: "Hello, World"
};
console.log(Hello.World); // Hello, World
この場合,Hello.World() は Hello オブジェクトの World メソッドを呼び出して,その結果である "Hello, World" を返す.
// メソッドの呼び出し
const Hello = {
World: function() {
return "Hello, World";
}
};
console.log(Hello.World()); // Hello, World
Summery
- JavaScriptの
.
(ドット)は、オブジェクトや配列のプロパティ、メソッドへのアクセスに使用される。 - 例えば、
AA.BB.cc
は、AA
オブジェクトのBB
プロパティを参照し、そのBB
プロパティのcc
プロパティをさらに参照する。 -
AA.BB.cc()
のように、cc
が関数の場合、メソッドの呼び出しが行われる。
参考文献
- MDN Web Docs: JavaScript のオブジェクト https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Working_with_objects
- MDN Web Docs: JavaScript 関数 https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions