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

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

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

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

JavaScript

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

Q&A

解決済

3回答

4970閲覧

オブジェクトリテラルの意味とは

aaaaaaaa

総合スコア501

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

JavaScript

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

0グッド

0クリップ

投稿2016/07/25 10:28

リテラルというのは、ソース上に記述したものが実行時にそのままの意味を持つ仕組みをいうとパーフェクトjavascript(072p)に記述されています。
文字列リテラルなら、var foo = "bar";は、変数宣言を意味する「var」と変数名の「foo」は、英単語としての意味を持たない。しかしbarは、実行時に
barという文字の並びとしての意味を持つ。"bar"は、文字列リテラルなのだ。barが数値であれば数字リテラルとなる。ここまでは理解できますが、これがオブジェクトリテラルとなると疑問がわいてきます。
オブジェクトリテラルにおける実行時にそのままを意味を持つというといまいち何の意味を指しているのかが理解できません。オブジェクトリテラルの意味とは、開発者が望んでいるオブジェクトの働きなのでしょうか、それともオブジェクトの性質を意味する古米なのでしょうか。

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

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

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

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

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

guest

回答3

0

ベストアンサー

リテラルは「ソース上に記述したものが実行時にそのままの意味を持つ」ものであり、それ以上でも、それ以下でもありません。オブジェクトリテラルは「オブジェクトでのリテラル」であり、オブジェクトに対する「ソース上に記述したものが実行時にそのままの意味を持つ」ものです。ここで言っているオブジェクトは文字列(String)や数値(Number)と同レベルの型としてのオブジェクト(Object)です。オブジェクト指向でいうオブジェクトや、第一級オブジェクトでいうオブジェクトではありません。


上の意味がわかったでしょうか?aaaaaaaaさんは「パーフェクトJavaScript」を読んでおられるようですが、この本は初心者向けではありません。JavaScriptの初心者を脱した人や他言語を学んだ人がJavaScriptをより深く理解するための本です。もし、意味がよくわからなければ、aaaaaaaaさんには前提となる知識が足りないと思われます。他の初心者向けに書かれた入門書を読むことをお勧めします。

あともう一つ。aaaaaaaaさんは各用語を「日常の日本語としての意味」で捉えているようですが、それは意味がありません。プログラミングでの用語の意味は「日常の日本語としての意味」とは厳密には異なります。もともとは全て英語なのですが、なるべく理解しやすいように似たような意味の言葉をあてはめているだけに過ぎません(訳語もそうです)。

プログラミング用語を「日常の日本語の意味」で考えないでください。それは全く意味が無いことです。単に、ある事柄をみんなでそのように呼ぶように決めているだけに過ぎません。

投稿2016/07/25 22:31

raccy

総合スコア21735

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

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

aaaaaaaa

2016/07/26 10:12

第一級オブジェクトは、初めて知りました。勉強します。 オブジェクトリテラルに質問文に書いてあるような特別な意味はなく、数値型や文字列型と同じようにソースに直接記述したものに意味がある。あくまで、プログラム上で分類されたデータに沿って○○リテラルと記述してあるだけで、質問文のようにちょっと難しく考える必要は無い、ということですね。間違っておりましたらamazonに直行します。
guest

0

http://www.weblio.jp/content/%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB とか http://e-words.jp/w/%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB.html を読んでみてください。

文字列リテラル/数値リテラル/オブジェクトリテラル、いずれも「データ型名」リテラル、といっているだけです。

本を読むのは大事ですが、本は100%正しいわけでも充分な説明をしているわけでもありません。
せっかくネットの環境があるのですから、わからない用語は検索してみて、いろいろな説明を読んで自分で考えてみましょう。

投稿2016/07/25 10:41

kaz.Suenaga

総合スコア2037

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

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

0

何がわからないのかよくわかりません。
var p = {X:100,Y:100};
これと文字列リテラルや数値リテラルと何が違って混乱しているのでしょう?

投稿2016/07/25 10:34

Zuishin

総合スコア28660

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問