[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
541
(2): デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 20:55:47.77 ID:XhDooIHVH(1/7) AAS
>>531
531(6): デフォルトの名無しさん (ワッチョイ 8202-9yt5 [27.92.176.51]) [sage] 2023/01/05(木) 14:46:47.66 ID:EVXeoiyo0(7/10) AAS
すいません。やっぱり関数リテラルという意味を理解したい。。でも↓この質問でわかるかも。
だれか答えていただけますでしょうか?
---
次のコードがあります。1から5のうち
どれが適切でしょうか?

let dispMessage = function(msg){
console.log(msg);
};

1.
function(msg){console.log(msg);}
は関数リテラルである。

2.
dispMessage
は関数リテラルである。

3.
let dispMessage = function(msg){
console.log(msg);
};
が全体として関数リテラルである。

4.
全て関数リテラルとはいえない。

5.
関数リテラルとは、用法のことであり、
コード部分を表すものではない。
自分もあまりJS詳しくないんですけど
リテラルっていうのは、括るもの、という意味合いでは?
オブジェクトリテラルっていうのは波かっこで括るオブジェクト={}
文字列のリテラルは、""や’’
展開のリテラルは、``とか
関数のリテラルというのは、functionを指定した引数括弧つきのオブジェクトリテラルでfunction(){}

関数リテラルといえば、例えばfunction func(){...}
とした場合、{...}は変数funcに文字列として代入されます
そしてfuncは関数オブジェクトと指定されていて
関数の実行は()を読み込むことで実行されます
func 文字列
()   関数の実行
542: デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 21:01:26.21 ID:XhDooIHVH(2/7) AAS
>>531
解決済みだったようですみませんでした
参考までに追加

function func(){return 1}
とした場合
console.log(func)

console.log(func())
を見比べるとわかりますが、
func変数の中身は、function指定された文字列で
func()は関数を実行した結果の1が表示されます
544
(2): デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 22:26:48.61 ID:XhDooIHVH(3/7) AAS
>>543
543(1): デフォルトの名無しさん (オッペケ Sr4f-JZbg [126.208.231.97]) [sage] 2023/01/05(木) 21:40:35.47 ID:n/EqvkXYr(1/3) AAS
>>541
JavaScriptのリテラルに関してはまず下記を読んでください
括ってあればリテラルというわけではないです
外部リンク:developer.mozilla.org
括る、というのはそういう意味かと
リテラルはリテラルなので括る必要はなくて
プリミティブは、これは文字列です、
これは配列です、
これはオブジェクトです
とエンジンに理解させるための記述なのかと思いまして
547
(1): デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 22:57:51.54 ID:XhDooIHVH(4/7) AAS
括ることで、エンジンに対して、これは配列オブジェクトだよとか
これは{}だよとか、これは文字列だよとか、そういうことを伝えているってことですけど
550: デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 23:12:56.82 ID:XhDooIHVH(5/7) AAS
<<538
諄いですね
正しい理論的な話あればご披露ください

JSの処理エンジンに、どういう記述があれば
どう処理するかというのがあるでしょ
{}とう記述を読めば、オブジェクトなのだな、と
””ならもじれるなのかなと、
function でて意義されたものがあれば関数なのかなと

リテラルは数値などの表現で
文字列は””、’’のクオーテーションで
関数は、function装飾委sで
それぞれが何を表現してるのかを確認し
スクリプト実行時にそれらをコンテキストに登録して
その後の作動を担保する、ってことなのかな
552: デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 23:20:08.45 ID:XhDooIHVH(6/7) AAS
先生、ありがとうござす
時間とれましたら勉強してみます、ありがとうです
555: デフォルトの名無しさん (JP 0H4f-ChaJ [126.249.157.89]) [sage] 2023/01/05(木) 23:34:22.58 ID:XhDooIHVH(7/7) AAS
すみませんでした、もっと勉強します
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s