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

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

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

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

Q&A

解決済

2回答

744閲覧

javascript get function

old_dog

総合スコア51

JavaScript

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

0グッド

1クリップ

投稿2021/05/20 05:58

編集2021/05/21 04:17

下記のコードにある get とは何でしょうか?
function みたいな 修飾子なのでしょうか?
また function や get のように、関数を修飾するものは何があるでしょうか?

let fun={ get f(){return this} }; fun.f; // {}

以下にアドバイス頂きました内容を整理して記載します。

get : ゲッター
オブジェクトのプロパティを関数に紐づけして、プロパティ(関数名)が参照されたときに、関数を呼び出します。

let fun={ get f(){console.log(1)} } fun.f ; // 1 fun.f(); // 1 ; fun.f is not a function

関数fをプロパティ名「f」で呼び出します。
f()と、関数呼び出しをするとエラー(fun.f is not a function)となります。

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

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

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

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

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

m.ts10806

2021/05/20 06:03

どこで拾ったのでしょうか
old_dog

2021/05/20 06:16

すみません、ちょっと覚えてないんです。 何か調べていたときに目にしてしばらく調べていたんですけど 何を調べていたのかさえ忘れてしまってます。 すみません。
m.ts10806

2021/05/20 06:30

あやまる必要はないですけど、自身で書いたコードでないのでしたら出典は基本的に明示するようにしてください。
m.ts10806

2021/05/20 06:31

ただ、「なぜ質問したか」「アドバイスを得てどう理解できたか」まで忘れてしまうようだとこの時間全く無駄になるのでご注意を。
old_dog

2021/05/21 03:55

m.ts10806様、アドバイスをありがとうございました。出典元が不明なので、getのコードは自作となってます。出典元のものは10~15行くらいのサンプルコードだったと記憶しています。今後、出典元のコードを転載するような場合には、出典元を明記するように心がけます。アドバイスいただきましたものは、すべて理解しやすいようコードを整理して記録しております。何度もご丁寧にアドバイスいただきまして、大変に参考にさせていただいております。この度もご指導をありがとうございました。
m.ts10806

2021/05/21 03:57

そのあたり質問本文に追記してもらえますか?あとから見る人もいるので。
old_dog

2021/05/21 04:18

上手にできませんでえしたが、追記をしておきました。アドバイスをありがとうございました。
m.ts10806

2021/05/21 04:21

文章の上手い下手よりも「質問者が何をしようとして何が起きて何を調べて何を試して何が聞きたいのか」が明確に書いてあれば良いと思います。 難しければ質問テンプレートを埋めるように書くのが無難です。
old_dog

2021/05/21 04:49

ありがとうございました。質問テンプレートを参考にします。
guest

回答2

0

ベストアンサー

下記のコードにある get とは何でしょうか?

getterです(MDN)。

function みたいな 修飾子なのでしょうか?

関数を修飾しているのではなく、オブジェクトに特殊な機能性をもたせる構文、という位置づけです。

投稿2021/05/20 06:02

maisumakun

総合スコア145208

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

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

old_dog

2021/05/20 06:05

maisumakun様ありがとうございます。いつも本当に助かっています。さっそくMDNの記事を読ませていただきます。いつもありがとうございます。
guest

0

get を付けると関数をプロパティのように扱えるようになります。

JavaScript

1let fun = { 2 name: "fun", 3 get f() { 4 return this; 5 } 6}; 7 8 9// nameもfも同じように呼べる 10fun.name; 11fun.f;

これにgetが付いていなければ、関数は以下のように呼ばなければならなくなります。

JavaScript

1fun.name; 2fun.f();

投稿2021/05/20 06:13

root_jp

総合スコア4666

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

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

old_dog

2021/05/20 06:18

root_jp様、ご解説をありがとうございました。getは関数をプロパティのように呼び出せる機能を、オブジェクトに持たせるものなのですね。貴重なお時間にサンプルコードもつけていただきましてありがとうございました。今後ともよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問