[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
530: (オッペケ Sr4f-JZbg [126.194.240.4]) 2023/01/05(木)12:50 ID:w+0CNSMQr(1) AAS
関数リテラルの説明についてはここが一番しっくりくる
外部リンク[html]:www.javadrive.jp

「関数リテラルを使った関数定義」って言い回しを強調してるのが良い
だから関数リテラルを引数として渡すって言ったらこういうことだよなって
dispNum(10, 8, function(x, y){
return (x + y) / 2;
});
531
(6): (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)14:46 ID:EVXeoiyo0(7/10) AAS
すいません。やっぱり関数リテラルという意味を理解したい。。でも↓この質問でわかるかも。
だれか答えていただけますでしょうか?
---
次のコードがあります。1から5のうち
どれが適切でしょうか?

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

1.
function(msg){console.log(msg);}
省14
532: (ワッチョイ e67b-28F+ [153.178.229.141]) 2023/01/05(木)14:53 ID:mmmJuCOb0(1) AAS
>>531
ぐぐったら以下の様に出る。結構理解しやすいと思うが。
リテラルとは リテラルとは、プログラムのソースコードにおいて使用される、数値や文字列を直接に記述した定数のことである。 変数の対義語であり、変更されないことを前提とした値である。 プログラミング言語のコード中にリテラルが挿入される場合には、判別のために特定の書式を用いる必要がある。
533: (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)15:02 ID:EVXeoiyo0(8/10) AAS
うん。「リテラル」ということばによって惑わされてきた気がする。
534
(1): (アウアウウー Sa6b-y47Y [106.155.3.231]) 2023/01/05(木)15:06 ID:akcN5qw4a(1) AAS
関数リテラルは関数として評価可能な右辺値と考えておけばまあいいんじゃないの
正確な定義は構文木の定義を見れば書いてある
535: (オッペケ Sr4f-JZbg [126.208.232.21]) 2023/01/05(木)15:10 ID:HxGsZjLmr(1) AAS
>>531
1だろう
let s = "abc";
の"abc"を文字列リテラルと呼ぶけどそれを代入した変数sを
文字列リテラルとは呼ばないでしょ
536: (オッペケ Sr4f-JZbg [126.208.238.17]) 2023/01/05(木)15:28 ID:c7qQflpDr(1) AAS
>>531
で、繰り返しになるけど本やサイトによっても説明がまちまちで
MDN探しても出てこないような用語だからあまり囚われない方がいい
理解しようとして時間をかけるだけ無駄
537: (ワッチョイ 9f63-uhAF [180.58.213.164]) 2023/01/05(木)15:35 ID:m3Sm+5EJ0(1) AAS
>>531
強いて言えば1かな
でも数値・文字列・正規表現リテラルみたいにプログラム中に単独で書くことは出来ないね
変数に代入するなり関数の引数に使うなりしないとエラーになる
英語でもfunction literalっていうみたいだけど関数リテラルってあんまりいい言葉だと思わないなあ

33;
"hello";
/^js$/;

function() {return true}; //SyntaxError

こんなことにこだわるよりもっと基本的なこと勉強した方方がいいんじゃないの?
538: (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)15:38 ID:EVXeoiyo0(9/10) AAS
あ。
誤解していたところがとけました。
当初は「2」かと妄信していたので、
だいぶ合点がとれました。
関数リテラルが無名関数と同義という説明も
いやそうではないという説明も
すっきりしました。

皆さん長々とお付き合いいただき
ありがとうございました。
539: (ワッチョイ 66db-TwI4 [217.178.96.73]) 2023/01/05(木)19:28 ID:j61eMuZ00(1) AAS
>>511
技術評論社のjQuery本格入門はものすごく読みづらかった。
もっと分かり易い言葉で解説して欲しかった。
540: (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)20:02 ID:EVXeoiyo0(10/10) AAS
>>534
>関数リテラルは関数として評価可能な右辺値と考えておけばまあいいんじゃない

この発想というか常識が無かったなあ。
541
(2): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)20:55 ID:XhDooIHVH(1/7) AAS
>>531
自分もあまりJS詳しくないんですけど
リテラルっていうのは、括るもの、という意味合いでは?
オブジェクトリテラルっていうのは波かっこで括るオブジェクト={}
文字列のリテラルは、""や’’
展開のリテラルは、``とか
関数のリテラルというのは、functionを指定した引数括弧つきのオブジェクトリテラルでfunction(){}

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

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

console.log(func())
を見比べるとわかりますが、
func変数の中身は、function指定された文字列で
省1
543
(1): (オッペケ Sr4f-JZbg [126.208.231.97]) 2023/01/05(木)21:40 ID:n/EqvkXYr(1/3) AAS
>>541
JavaScriptのリテラルに関してはまず下記を読んでください
括ってあればリテラルというわけではないです
外部リンク:developer.mozilla.org
544
(2): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)22:26 ID:XhDooIHVH(3/7) AAS
>>543
括る、というのはそういう意味かと
リテラルはリテラルなので括る必要はなくて
プリミティブは、これは文字列です、
これは配列です、
これはオブジェクトです
とエンジンに理解させるための記述なのかと思いまして
545: (ワッチョイ a62d-IQJE [121.102.19.45]) 2023/01/05(木)22:39 ID:scsW7zY90(1) AAS
リテラルはベた書きで良かろう
546: (オッペケ Sr4f-JZbg [126.208.231.97]) 2023/01/05(木)22:41 ID:n/EqvkXYr(2/3) AAS
>>544
申し訳ないけど全体的に文意が取れません
1行目の「そういう意味」は何を指してますか?
547
(1): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)22:57 ID:XhDooIHVH(4/7) AAS
括ることで、エンジンに対して、これは配列オブジェクトだよとか
これは{}だよとか、これは文字列だよとか、そういうことを伝えているってことですけど
548
(1): (ワッチョイ 8201-+uJR [219.204.123.70]) 2023/01/05(木)22:59 ID:O+NRT3S+0(2/3) AAS
>>541 > リテラルっていうのは、括るもの、という意味合いでは?
>>544 > リテラルはリテラルなので括る必要はなくて
自分で何書いてるのか理解できてる?
549: (ワッチョイ 8201-+uJR [219.204.123.70]) 2023/01/05(木)23:00 ID:O+NRT3S+0(3/3) AAS
>>547
数値リテラル
1-
あと 453 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s