[過去ログ]
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net (1002レス)
+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1491143438/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
983: デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]) [sage] 2021/10/31(日) 22:09:03 ID:CEq1n28F0 >>981 982の「疑問」=>「疑問や違和感」に訂正です http://mevius.5ch.net/test/read.cgi/tech/1491143438/983
984: デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78]) [sage] 2021/11/01(月) 09:39:09 ID:i0IYe4C60 アロ関は世界を救う。 http://mevius.5ch.net/test/read.cgi/tech/1491143438/984
985: デフォルトの名無しさん (ワッチョイ 56db-BvZE [217.178.96.78]) [sage] 2021/11/01(月) 09:56:32 ID:i0IYe4C60 アロ関十段ここに極まる。 http://mevius.5ch.net/test/read.cgi/tech/1491143438/985
986: デフォルトの名無しさん (ワッチョイ 52f0-rbIv [61.205.223.183]) [sage] 2021/11/01(月) 10:30:03 ID:Oy+9EmbD0 >>980 アロー関数にプロパティを紐づけする必要ないよな 無名関数、即時関数のプロパティに外部からアクセスするようなコードはナンセンスだし >>981 Chromeのコンソールでコード入力してんのかな? そんなことしてたら面倒くさいだろな vscodeでjavascriptを実行すればいいんだけど 支障がるみたいで、どういう感じになってるのか興味ある http://mevius.5ch.net/test/read.cgi/tech/1491143438/986
987: デフォルトの名無しさん (ワッチョイ 9e46-BvZE [111.98.111.65]) [sage] 2021/11/03(水) 17:47:47 ID:mbwPounm0 .>>1000 そうだな、お前みたいな破廉恥極まりないやつを極刑にできないなんてな http://mevius.5ch.net/test/read.cgi/tech/1491143438/987
988: デフォルトの名無しさん (ワッチョイ 8701-rKqH [126.224.146.69]) [sage] 2021/11/03(水) 17:55:09 ID:KPYiFv2L0 >>987 先(>1000)をみる前に現在を見つめては http://mevius.5ch.net/test/read.cgi/tech/1491143438/988
989: デフォルトの名無しさん (ワッチョイ 7ff0-+Epa [61.205.223.183]) [sage] 2021/11/09(火) 17:29:38 ID:vBEqEZ0H0 よろしくお願いします 下記の二つの関数、c1()とc2()でカウンターを作りました c1()はカウントされず、c2()はカウントされます 同じようなコードなのにc1()を複数回呼び出しても 変数cがインクリメントされないのはなぜなのでしょうか? function c1(){ let c=0; return c++; } function c2(){ let c=0; return function(){return c++}; } let s1=c1(); let s2=c2(); console.log( s1, // 0 s1, // 0 s2(), // 0 s2(), // 1 ); http://mevius.5ch.net/test/read.cgi/tech/1491143438/989
990: デフォルトの名無しさん (テテンテンテン MM4f-hQZx [133.106.48.148]) [sage] 2021/11/09(火) 18:14:06 ID:M98uPrZkM 仕様通りとしか c1のcはc1が呼び出される度に定義されるからカウント不可 そもそも上のコードでc1は1回しか呼び出されていないし http://mevius.5ch.net/test/read.cgi/tech/1491143438/990
991: デフォルトの名無しさん (ワッチョイ ff02-H2rd [119.106.222.232]) [sage] 2021/11/09(火) 18:42:53 ID:/KO0GJnF0 c2の中のfunctionの中で書いてないけどcが定義されて、呼び出されるごとにそのcがインクリメントされているような挙動。 http://mevius.5ch.net/test/read.cgi/tech/1491143438/991
992: デフォルトの名無しさん (ワッチョイ 5f01-lK5T [126.243.174.47]) [sage] 2021/11/09(火) 20:03:23 ID:zgMlwp7I0 >>989 c1は呼び出される度に変数cが初期化される s2は呼び出されても変数cが初期化されない http://mevius.5ch.net/test/read.cgi/tech/1491143438/992
993: デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243]) [sage] 2021/11/09(火) 20:54:12 ID:qOqV7S2Y0 そもそもc1一回しか呼び出してないけどな http://mevius.5ch.net/test/read.cgi/tech/1491143438/993
994: デフォルトの名無しさん (ブーイモ MMa3-8Kye [202.214.125.68]) [sage] 2021/11/09(火) 21:10:09 ID:JS6FzrkbM カウンタを初期化する部分を繰り返し呼び出す関数の外に出してやればいい let c=0; function c1(){ return c++; } http://mevius.5ch.net/test/read.cgi/tech/1491143438/994
995: デフォルトの名無しさん (ワッチョイ ff46-H2rd [111.98.111.65]) [sage] 2021/11/09(火) 22:41:36 ID:RTTrqb1f0 >>990はレキシカルを理解してるなら s1とs2のレキシカルが違うことをだな http://mevius.5ch.net/test/read.cgi/tech/1491143438/995
996: デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102]) [sage] 2021/11/10(水) 12:09:40 ID:KxrU4/8D0 うむ http://mevius.5ch.net/test/read.cgi/tech/1491143438/996
997: デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102]) [sage] 2021/11/10(水) 12:24:11 ID:KxrU4/8D0 >>989 関数やブロックはプロパティをLexicalという場所に登録するんだけど プロパティを参照した時には、関数内やブロック内のLexicalを参照し そこにプロパティが登録されてないとその直外のLexicalを参照します 関数は、呼び出しごとに内部Lexicalが生成されるので c1();c1();c1()と呼び出すと、別々の3つの内部Lexicalが生成され それらに別々のlet cが登録されるので、c=0となります s1にはc1()への関数の参照が格納されてるので s1を複数回呼び出すと、c1()を複数回参照し 上記と同じ結果になります 一方でc2()がreturnで戻す内部関数は直外のLexicalのあるcを参照します s2()を複数回呼び出すと、同じLexicalのcを参照するので s2()の複数呼び出しでcはインクリメントされていくのですね 990先生や994先生のご指摘を血肉にされるといいでしょう http://mevius.5ch.net/test/read.cgi/tech/1491143438/997
998: デフォルトの名無しさん (ワッチョイ df4e-9n+R [210.138.216.243]) [sage] 2021/11/10(水) 13:11:24 ID:ABhSQgxq0 ところでクロージャーって用語の使い方について質問があるんだけどc2自体をクロージャーって言うのかc2が返してる無名関数をクロージャーって言うのかどっちが正しいの? http://mevius.5ch.net/test/read.cgi/tech/1491143438/998
999: デフォルトの名無しさん (ワッチョイ 7f52-hQZx [61.87.108.223]) [sage] 2021/11/10(水) 15:30:26 ID:jxD2VXPG0 質問中すまんが次スレ + JavaScript の質問用スレッド vol.124 + https://mevius.5ch.net/test/read.cgi/tech/1636525464/ http://mevius.5ch.net/test/read.cgi/tech/1491143438/999
1000: デフォルトの名無しさん (ワッチョイ 5f21-+Epa [222.230.61.102]) [sage] 2021/11/10(水) 17:31:05 ID:KxrU4/8D0 closer != function closer == function + environment.information JSで説明されてるクロージャーは 関数、関数の内部情報、外部参照ポインタのセット っていう大まかな理解でいいと思います function f(){let a;}の場合、 関数f、内部プロパティa、外部参照ポインタの参照先(グローバル)、というセットがクロージャー ちょっと大まかすぎますか? 返される無名関数はクロージャーの仕組みを コードで理解するために多用されているために それ自体をクロージャーと認識する人も多いでしょう また関数内プロパティは外部から直接アクセスできないので 外部からクローズになっているという意味で 関数自体をクロージャーといっていたり 外部から関数内にアクセスできない状態をクロージャーという人も多いでしょう 次スレで先生方からアドバイスいただけますといいですね 私も心待ちにしています >>999様、ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1491143438/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 1682日 18時間 0分 27秒 http://mevius.5ch.net/test/read.cgi/tech/1491143438/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1491143438/1002
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.866s*