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

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

新規登録して質問してみよう
ただいま回答率
85.48%
オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

JavaScript

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

Q&A

解決済

4回答

861閲覧

なぜクラスの中の関数にはfunctionを付けられないのですか? - JS

keys

総合スコア215

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

JavaScript

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

0グッド

0クリップ

投稿2018/04/07 22:45

下記のコードですが、クラスの中の関数にfunctionをつけると動きません。何故でしょう。そういう。また、下記の実行結果がTestB -> TestAのようにTestBからでる理由は何故なのでしょうか。また、なぜ、クラス内の関数を呼ぶときは()を付けなきゃいけないのに、getを呼ぶときは()省いても大丈夫なのでしょうか。

js

1class TestA { 2 3 get test_area() 4 { 5 return this.test_calcArea(); 6 } 7 8 test_calcArea() 9 { 10 $('body').after(`<p>TestA</p>`); 11 } 12} 13 14const test = new TestA(); 15test.test_area; 16//TestA 17 18 19function TestB(){ 20 $('body').after(`<p>TestB</p>`); 21} 22TestB(); 23//TestB

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

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

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

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

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

defghi1977

2018/04/07 23:09

何を言いたいのかがよく判りません. わからないことについて詳しく丁寧に説明して下さい.
guest

回答4

0

下記のコードですが、クラスの中の関数にfunctionをつけると動きません。何故でしょう。

class構文が導入されたときに、そういう構文にしたとしか言いようが無いですが、functionキーワード無しでも曖昧にならないから省いたんでしょうか。

また、下記の実行結果がTestB -> TestAのようにTestBからでる理由は何故なのでしょうか。

TestBの方が後から追加しているから上に出ます。自明だと思いますが。

また、なぜ、クラス内の関数を呼ぶときは()を付けなきゃいけないのに、getを呼ぶときは()省いても大丈夫なのでしょうか。

プロパティ参照・代入と同一構文でアクセス出来るのが、getter・setterのメリットです。というかプロパティ参照・代入と同一構文でアクセスしたいが為に作られた機能でしょう。

投稿2018/04/08 01:57

otn

総合スコア84531

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

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

0

あらかじめ文法を決めておくとソースが読みやすくなり、また学習もはかどるからです。

プログラムは好きなように書いても人の意図を忖度してその通りに動くということはありません。
必ず書いたとおりに動きます。

ですからきっちりと厳密に文法を決めておくのです。

投稿2018/04/08 00:02

編集2018/04/08 00:03
Zuishin

総合スコア28660

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

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

0

ベストアンサー

.afterだと文法上おかしくなります。(body要素の後ろに要素を置くことになるため)
body要素に追加するなら.appendでしょう。

【jQueryを利用したDOM操作 要素の追加メソッドまとめ - Qiita】
https://qiita.com/nekoneko-wanwan/items/227ccad5f8cc449e91e9

投稿2018/04/08 02:11

kei344

総合スコア69407

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

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

0

そーゆーふーに決められてるから、としか言いようがないんだよなあ

投稿2018/04/08 00:07

y_waiwai

総合スコア87774

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問