リテラル

[新着] Webテンプレートを仮オープンしました



0   名前: 拓実 : 2006/10/12(木) 07:35  ID:TYSqO2aG
Javascriptでリテラルというのはどういうものですか?
検索してみたのですが、よい説明がなくてわかりません。
どなたか分かりやすく教えてください。

1   名前: m035 ◆Wpzr1YKOiq : 2006/10/12(木) 07:35  [URL]  ID:ti8zZfJL
要は、変数などに入っていない直接かかれた数値や文字のことかと。
http://www.google.co.jp/search?q=%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB%E3%81%A8%E3%81%AF
にヒットするページと似たようなことを言っているだけですが、もう一度検索してみるといいでしょう。

http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Literals
に各種リテラルの書き方があるようなのでそちらも参考にどうぞ。

2   名前: 拓実  : 2006/10/12(木) 07:35  ID:8r/SMgXr
ありがとうございます。
ご紹介のサイト訪問してみました。さっぱりわかりません。
言語明瞭意味不明といったところです。やはりわたしには無理ですね。
どこかにタグないでしょうか?

3   名前: 匿名 : 2006/10/12(木) 07:35  ID:NVTEPK4y
JavaScriptは基本的に全ての値をオブジェクトとして扱う。
だから変数を使うときは本来

var b = new Boolean(true);
var n = new Number(100);
var s = new String('Hello!');
var r = new RegExp('.*', 'i');


と書かなければならないのだが、いちいちこんなことを書くのは非効率なので、
上と同じ意味のことを

var b = true;
var n = 100;
var s = 'Hello';
var r = /.*/i;


と書くこともできる。下の書き方をリテラルと呼ぶ。
君はリテラルに散々お世話になっているはずだ。

# もっとも、上記の説明は意図的にプリミティブ値に触れていない。
# そのため説明に大きな欠陥があるんだけど、今は考えないでおく。

# また、ArrayとObjectの初期化子[]、{}をリテラルと混同している人が非常に多いが
# 厳密にはECMA262のArrayとObjectにリテラルは存在しない。
# 初期化子[]、{}の書式がリテラルのようだ、というだけ。

一覧へ戻る