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

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

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

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

Q&A

解決済

1回答

1704閲覧

JavaScript のプロパティとは、オブジェクトの持ち物のことなんでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2017/02/13 07:11

JavaScript のプロパティとは、オブジェクトの持ち物のことなんでしょうか?

つまり、
オブジェクトという倉庫の中にプロパティというコンテナーがあり、
その中に関数と変数という箱が入っているという事でしょうか?

また、オブジェクトの性質を表す情報とも聞きますが具体的にどのようなことなのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

言葉で説明すると、そのような"性質を表す情報"という呼んでもすぐには理解できないようなものになってしまいますが、目で見れば理解できるかと思います。

js

1var a = { 2 b: 1, 3 c: "hoge", 4 d: function() { 5 console.log('hoge'); 6 } 7};

を例にすると、bとcそれぞれ一つ一つがaオブジェクトのプロパティとなります。
ただ、dは関数ですのでプロパティとは言わずメソッド(まあ、関数と呼んでも別に問題ありませんが)と呼びます。

投稿2017/02/13 08:22

turbgraphics200

総合スコア4267

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

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

退会済みユーザー

退会済みユーザー

2017/02/13 09:23

オブジェクトの中にある値(数値や文字列)の総称をプロパティというのでしょうか? オブジェクトの中の関数をメソッドという事ですが、メソッドは、プロパティでもあり、メソッドでもあるという事なのでしょうか?
退会済みユーザー

退会済みユーザー

2017/02/13 09:24

オブジェクトの性質を表す情報とも聞きますが、中にある値がオブジェクトの性質を表すので、 中の値をプロパティというという認識でよいでしょうか?
turbgraphics200

2017/02/13 09:32

数値や文字に限ったものではありませんが、まあ、そういうものだと理解していただければ。 オブジェクトの中というとちょっと御幣を生むところが出てくるところではありますね。オブジェクトの内部でしか参照できないもの(private変数)をプロパティと呼んでいいかどうかはちょっと自信がありませんが、オブジェクト外部から参照できるもの(public変数)に関してはプロパティと呼べます。あとメソッドはプロパティにはなりません。
退会済みユーザー

退会済みユーザー

2017/02/13 12:35

オブジェクトの中にある値(数値や文字列)の総称をプロパティというでよいんですかね? 数値文字列だけではないようですが、他に何がありますか? ただメソッドはプロパティではないのですね。 >>> オブジェクトの中というとちょっと御幣を生むところが出てくるところではありますね。 オブジェクトの内部でしか参照できないもの(private変数)をプロパティと呼んでいいかどうかはちょっと自信がありません オブジェクトの内にある数値や値をプロパティというが、変数がオブジェクトの中にあった場合それをプロパティというかは微妙という事ですか? >>> オブジェクト外部から参照できるもの(public変数)に関してはプロパティと呼べます。 letやconstはブロックスコープなので無理ですが、varはどこからでも参照できるのでこれを言っているのですか?
turbgraphics200

2017/02/13 23:32 編集

var も宣言個所によってはブロックスコープになります。 例えば var a = funciton() { var b = 1; this.c = 'hoge'; } var obj = new a(); とした場合、objからbの変数は参照できませんが、cの変数はobj.cとして参照できます。 bのようにオブジェクト外から参照できるものを言います。
退会済みユーザー

退会済みユーザー

2017/02/13 23:30

ありがとうございます。 >>> objからbの変数は参照できませんが、cの変数はobj.cとして参照できます。 bのようにオブジェクト外から参照できるものを言います。 難しくて初心者にはよくわからないのですが、 bはbはできるとできなとおっしゃっていますがどちらという事なのでしょうか?
退会済みユーザー

退会済みユーザー

2017/02/13 23:40

とした場合、objからbの変数は参照できませんが、cの変数はobj.cとして参照できます。 cのようにオブジェクト外から参照できるものを言います。 という事ですね。
退会済みユーザー

退会済みユーザー

2017/02/13 23:43

this.がついていると参照できるがついてないと参照できないようですが初心者にもわかるように解説していただけるとありがたいです。 var obj = new a(); も確かnewはオブジェクトを作成するときに行うという事でしたが、 ()があるのは関数ですよね。 aは関数なのでしょうか?
turbgraphics200

2017/02/13 23:50

関数オブジェクトと呼ばれるものです。ご自身で学習したほうがいいでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問