[過去ログ]
JavaScript の質問用スレッド vol.125 (1002レス)
JavaScript の質問用スレッド vol.125 http://mevius.5ch.net/test/read.cgi/tech/1659855460/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
951: デフォルトの名無しさん (ワッチョイ e300-5mk2 [2400:2200:7f1:bf91:*]) [sage] 2023/11/19(日) 10:42:09.47 ID:HAfvoabg0 いえいえ http://mevius.5ch.net/test/read.cgi/tech/1659855460/951
952: デフォルトの名無しさん (ワッチョイ 0556-2Aft [202.71.49.47]) [sage] 2023/11/20(月) 16:19:56.96 ID:q8v/AXQl0 const arr =Array(3).fill([]); arr[1].push(0); console.log(arr); この場合arrは[[], [0],[]]になっていることを期待するのですが実際には[[0], [0], [0]]となっています まったく納得いかないのですがなぜですか http://mevius.5ch.net/test/read.cgi/tech/1659855460/952
953: デフォルトの名無しさん (ワッチョイ 83f6-YW6P [2400:2200:6f1:ae40:*]) [sage] 2023/11/20(月) 16:41:25.42 ID:LC62eXy40 >>952 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#value >配列を埋める値。もし value がオブジェクトであれば、配列のそれぞれの要素はそのオブジェクトを参照します。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/953
954: デフォルトの名無しさん (ワッチョイ 0556-2Aft [202.71.49.47]) [sage] 2023/11/20(月) 16:49:32.78 ID:q8v/AXQl0 >>953 fillがそういう仕様なんですね 納得です ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1659855460/954
955: デフォルトの名無しさん (ワッチョイ eb79-5mk2 [2400:2200:7f6:ca17:*]) [sage] 2023/11/21(火) 08:31:09.87 ID:reAksYQu0 いえいえ http://mevius.5ch.net/test/read.cgi/tech/1659855460/955
956: デフォルトの名無しさん (ワッチョイ 4d1d-TQK0 [180.178.89.53 [上級国民]]) [sage] 2023/11/21(火) 23:06:08.47 ID:Hk8WzggI0 変数宣言の際に、letよりconstを積極的に使うべき、とされているのはなぜでしょうか? 後で値を変えられるletの方が便利だと思うのですが http://mevius.5ch.net/test/read.cgi/tech/1659855460/956
957: デフォルトの名無しさん (ワッチョイ 0d5f-yKFx [14.8.104.32]) [sage] 2023/11/22(水) 00:26:41.03 ID:nlRha+4K0 JSにかかわらず変数は使ってる道中に値変換したり変数使いまわしてるとエラーの種になりやすいし、それを防止するのが大きいかな 配列やオブジェクトの値はconstでも変えられるし 昔はそういうごちゃごちゃ動く変数のトレースするのもプログラム組むやつの能力ってされてたなぁ http://mevius.5ch.net/test/read.cgi/tech/1659855460/957
958: デフォルトの名無しさん (ワッチョイ e32f-e1iw [2400:2410:34a1:6700:*]) [sage] 2023/11/22(水) 03:01:31.39 ID:KDSVu4Ne0 コードを上から読んでいく時にconstだとこの値は後から変わることがないと決めつけて読むことができる letだとどこかで書き換えられるのに注意しながら読まないといけない http://mevius.5ch.net/test/read.cgi/tech/1659855460/958
959: デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45]) [] 2023/11/22(水) 10:49:23.49 ID:5A+ZhXZi0 可読性の部分が大きいよね varで変数定義しているクソコードなんかリファクタリングしたくないだろ? http://mevius.5ch.net/test/read.cgi/tech/1659855460/959
960: デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45]) [] 2023/11/22(水) 11:06:59.29 ID:5A+ZhXZi0 constで最初から定義した後にそれが動的な値だった場合タイプエラーを起こしてからletに書き換える事はあるけど最初からletで定義しちゃうと後々constに書き換えた場合もしそれが動的な値ならプログラムそのものが動かなくなって新たなるバグを生むでしょう? 最初は縛りを強くしておいて後から緩めるはあるけど逆はないですよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/960
961: デフォルトの名無しさん (ワッチョイ 35d5-SdNv [2404:7a82:3de0:3500:*]) [sage] 2023/11/22(水) 15:03:20.05 ID:hF+LjdVs0 条件によって const の値を変えられるようになるといいんだけどな。 簡単なのなら参考演算子でやれるけど。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/961
962: デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45]) [] 2023/11/22(水) 20:15:59.75 ID:5A+ZhXZi0 >>961 よくわからないけどそれってconst使う意味あるの? http://mevius.5ch.net/test/read.cgi/tech/1659855460/962
963: デフォルトの名無しさん (ワッチョイ 2539-YW6P [2400:2200:6f2:ad2b:*]) [sage] 2023/11/22(水) 20:54:04.80 ID:FIiKhTS50 察するに初期代入時に場合によって違う値を入れたいということだろう 三項演算子を出してるし http://mevius.5ch.net/test/read.cgi/tech/1659855460/963
964: 956 (ワッチョイ 4d1d-f5/H [180.178.89.53]) [sage] 2023/11/22(水) 21:26:20.43 ID:VeafCB/q0 答えてくれた方々ありがとうございました 積極的にconstを使っていきたいと思います http://mevius.5ch.net/test/read.cgi/tech/1659855460/964
965: デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240]) [sage] 2023/11/22(水) 21:54:03.90 ID:7CtxEw9g0 >>962 うまい例になってるかわからないけど、何かのプロパティに値が入ってたらそれ、無ければデフォルト値を const に入れたいとか、この条件がもっと複雑になった感じとか。 あるいは、何かの基準座標を const に入れたいけどその値は一発では求まらないとか。 単にこれだけなら中間的な変数を使って値を求めて、最後に const に代入するって手もあるだろうけど、中間的な変数はスコープから追い出したいのにできないよね。 const x; { let a, b, c; : x = a + b * c; } みたいにできれば a b c はスコープから追い出せるけど、実際は let a, b, c; : const x = a + b * c; ってやらざるを得なくて、x が存在するスコープから a b c を追い出せない。 この計算を function に切り出せよと言うかもしれないけど、できればそうすりゃいいけどどこにでも適用できるというわけでもない。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/965
966: デフォルトの名無しさん (ワッチョイ 250c-YW6P [2400:2200:6d0:af1d:*]) [sage] 2023/11/22(水) 22:23:44.12 ID:lZKHNjwl0 調べてみると苦肉の策で↓みたいな書き方が紹介されてたけど可読性考えるとどうだろうね const x = (() => { let a, b, c; : return a + b * c; })(); http://mevius.5ch.net/test/read.cgi/tech/1659855460/966
967: デフォルトの名無しさん (ワッチョイ e3c2-fy5B [2001:240:2467:98ce:*]) [sage] 2023/11/22(水) 22:52:37.25 ID:8gAUwwkj0 関数に切り出さない意味がわからない http://mevius.5ch.net/test/read.cgi/tech/1659855460/967
968: デフォルトの名無しさん (ワッチョイ 6bcf-ekUX [153.206.41.110]) [sage] 2023/11/23(木) 00:25:34.14 ID:9np+Rtrn0 欲しいのはただのブロックなのに関数として書かなければならないというのが余計なことをやらされている感はある。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/968
969: デフォルトの名無しさん (ワッチョイ cd3b-8MWH [2409:251:9020:2100:*]) [sage] 2023/11/23(木) 01:53:09.12 ID:pAGXWPD10 var使え http://mevius.5ch.net/test/read.cgi/tech/1659855460/969
970: デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240]) [sage] 2023/11/23(木) 15:16:53.54 ID:d47OCYFA0 >>966 処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね http://mevius.5ch.net/test/read.cgi/tech/1659855460/970
971: デフォルトの名無しさん (ワッチョイ 2d12-YW6P [2400:2200:6f7:92d9:*]) [sage] 2023/11/23(木) 15:39:42.20 ID:98Thj8w70 >>970 その場合はタプルで受け取るようにすれば問題ないよ const [x, y] = (() => { let a, b, c; : return [a + b * c, a * b + c]; })(); http://mevius.5ch.net/test/read.cgi/tech/1659855460/971
972: デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240]) [sage] 2023/11/23(木) 15:58:06.00 ID:d47OCYFA0 >>971 ああ、それが現状の最適解な気がするね。 後で汎用関数化したくなっても対応しやすいし。 まあ >>968 みたいな感覚はあるし、関数としてのコストも気になっちゃうけど。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/972
973: デフォルトの名無しさん (ワッチョイ 551d-1fOb [180.178.89.53]) [sage] 2023/11/29(水) 23:49:26.08 ID:oO9dmq1+0 const num = 1; とした時、numはCやJavaのint型と違って、1という値のオブジェクトを参照している という理解でよろしいでしょうか? (numという名前でラベリングされたメモリ領域には、1そのものではなく 数値オブジェクトへの参照値が入っている?) http://mevius.5ch.net/test/read.cgi/tech/1659855460/973
974: デフォルトの名無しさん (ワッチョイ e501-3M3b [60.118.124.10]) [sage] 2023/11/30(木) 04:02:01.17 ID:uIFlL3tD0 >>973 1 はプリミティブ値。 Object型ではない。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/974
975: 973 (ワッチョイ 551d-1fOb [180.178.89.53]) [sage] 2023/11/30(木) 22:41:28.93 ID:l5hD/Y3Y0 >>974 レスありがとうございます 分かりました 文字列('Hello World'など)もプリミティブなんですよね どうやって内部で実装されてるんですか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/975
976: デフォルトの名無しさん (ワッチョイ cb01-0ikQ [2001:240:2461:5256:*]) [sage] 2023/11/30(木) 22:57:08.84 ID:mSFTiyup0 MDNをまず読みましょう https://developer.mozilla.org/en-US/docs/Glossary/Primitive http://mevius.5ch.net/test/read.cgi/tech/1659855460/976
977: デフォルトの名無しさん (ワッチョイ 25f0-5Z4W [220.146.53.208]) [sage] 2023/11/30(木) 23:13:04.35 ID:5k4SwxyG0 >>973 実装的には全て参照扱いだよ ただし数値の場合は参照(ポインタ)そのものに数値を埋め込むという方法 だから全て参照だけどメモリは消費しないというハック http://mevius.5ch.net/test/read.cgi/tech/1659855460/977
978: デフォルトの名無しさん (ワッチョイ e501-3M3b [60.118.124.10]) [sage] 2023/12/01(金) 01:54:56.09 ID:Bo4sqMI/0 >>975 質問が大雑把過ぎる もっと具体的に詳しく http://mevius.5ch.net/test/read.cgi/tech/1659855460/978
979: 975 (ワッチョイ 691d-zrcD [180.178.89.53]) [sage] 2023/12/02(土) 04:48:25.07 ID:3pMMmiCv0 返信くれた方々、ありがとうございます >>976 TOEICのスコア400点台だったので厳しいです… >>977 参照扱いでもプリミティブ型って言うんですか? Javaではintやdoubleなど参照を用いずにデータを記憶する型をプリミティブ型と 呼んでいたので、少し混乱しています… >>978 すみません、以後気を付けます http://mevius.5ch.net/test/read.cgi/tech/1659855460/979
980: デフォルトの名無しさん (ワッチョイ 99ca-egvc [2400:2200:6f3:92ab:*]) [sage] 2023/12/02(土) 10:49:58.14 ID:qpNh64Np0 >>977は気にしなくていいよ 英語苦手でもプリミティブには7つの型がある、ぐらいは読めるだろう あと日本語のページがないか調べるぐらいはしよう https://developer.mozilla.org/ja/docs/Glossary/Primitive http://mevius.5ch.net/test/read.cgi/tech/1659855460/980
981: デフォルトの名無しさん (ワッチョイ 91ca-j/4L [122.132.80.240]) [sage] 2023/12/02(土) 11:43:24.98 ID:/unkk9Eq0 >>979 そもそもそんなことを気にしてどうするの? 何がしたくての質問? ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/981
982: 979 (ワッチョイ 691d-zrcD [180.178.89.53]) [sage] 2023/12/03(日) 12:45:58.94 ID:FUDcVj1n0 >>980 分かりました ありがとうございます >>981 レスありがとうございます うーん、まあこだわりとでも言いましょうか… 個人的にはそこまで知っておくことは無駄ではないと思います http://mevius.5ch.net/test/read.cgi/tech/1659855460/982
983: デフォルトの名無しさん (ワッチョイ c1b6-egvc [2400:2200:6d6:9e9c:*]) [sage] 2023/12/03(日) 13:08:07.26 ID:tV1DejKO0 >>975の質問なんかは明らかに自分のスキルや理解力に不相応なことを知ろうとしてない? それを知ろうとするのはもっと力を付けてからがいいと思う http://mevius.5ch.net/test/read.cgi/tech/1659855460/983
984: デフォルトの名無しさん (ワッチョイ 1901-+tyV [60.118.124.10]) [sage] 2023/12/03(日) 14:24:30.66 ID:GsReymgf0 >>982 実装を知る以前に仕様は理解してる? 「仕様書のここをどうやって実装しているか、を知りたい」なら誰かしら答えるかもしれないが、そのようなレベルにも見えない 仕様を理解せずして、実装を理解するのは無理 http://mevius.5ch.net/test/read.cgi/tech/1659855460/984
985: デフォルトの名無しさん (オイコラミネオ MM95-j/4L [150.66.80.109]) [sage] 2023/12/03(日) 17:15:18.22 ID:TpyXoIhbM >>984 乗っかって補足すると、同じ仕様の実装なんて何通りもあるのよね。 そこであえて実装を知りたいというなら、その理由も書く方が間違いないよね。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/985
986: 982 (ワッチョイ 691d-zrcD [180.178.89.53]) [sage] 2023/12/04(月) 23:09:24.91 ID:GWbm6wp00 レスありがとうございます 遅くなってすいません >>983 そうですよね まあ単純に、文字列である以上、変数用に確保したメモリ領域内に簡単には収まらない だろうなと推測したんです でも不変な値なら参照使わなくても収まるのかな >>984 微妙です 入門書を読んで間もないレベルです >>985 分かりました まあ実装って言い回しが大仰でした 参照を使ってあるかどうかを特に知りたかったんです http://mevius.5ch.net/test/read.cgi/tech/1659855460/986
987: デフォルトの名無しさん (ワッチョイ a95f-i/h+ [14.8.104.32]) [sage] 2023/12/04(月) 23:27:59.49 ID:lRGkzbxI0 そのレベルを気にする人はもうフレームワーク作るレベルだろう http://mevius.5ch.net/test/read.cgi/tech/1659855460/987
988: デフォルトの名無しさん (アウアウウー Sa9d-/D3x [106.146.123.7]) [sage] 2023/12/05(火) 20:06:09.74 ID:gtr9NjJza >>982 あ、ややこしい書き方してすまん 単にuint64_tが値の参照でオブジェクトの場合はポインタが入ってて 整数の場合はそのまま使ってると言うことを言いたかっただけ typedef uint64_t JsValue; JsValueが「値」を指す参照 JsValue obj = createObject(); // Object JsValue smi = createSmi(); // Small Integer こうすることでオブジェクトも数値も同じように扱える V8もJSCも全部これ http://mevius.5ch.net/test/read.cgi/tech/1659855460/988
989: 982,986 (ワッチョイ 691d-zrcD [180.178.89.53]) [sage] 2023/12/05(火) 23:32:22.63 ID:c1y4Tvg20 レスありがとうございます >>987 そうなんですかね >>988 内容がハイレベルですね http://mevius.5ch.net/test/read.cgi/tech/1659855460/989
990: デフォルトの名無しさん (ワッチョイ 1901-+tyV [60.120.204.187]) [sage] 2023/12/06(水) 00:21:20.37 ID:HaZOzd170 >>986 入門書を読んで間もないレベルなら、口が避けても「仕様を理解した」とは言えない 実装を覚えるのは仕様書を読めるようになった後だろう https://262.ecma-international.org/14.0/ http://mevius.5ch.net/test/read.cgi/tech/1659855460/990
991: デフォルトの名無しさん (ワッチョイ 4b6e-yLTa [240a:61:11a:237d:*]) [sage] 2023/12/09(土) 10:39:43.45 ID:npLWblUF0 素人な質問で申し訳有りません。 下記のスクリプトで何故か関数丸々出力されてしまうのです。 テキストでは改行が多すぎる為、投稿出来ないため画像で申し訳有りません。 下のグレーのフォントが出力結果です。 出力指定していないので、何も出力されないはずなのですが…。 https://i.imgur.com/tJnx1oK.jpg http://mevius.5ch.net/test/read.cgi/tech/1659855460/991
992: デフォルトの名無しさん (ワッチョイ 4501-zRS8 [60.106.64.223]) [sage] 2023/12/09(土) 11:31:37.42 ID:In8GNdRi0 >>991 画像でコート見るのはしんどいので、>>2のサイト使って現象が再現するコードを掲示してほしい http://mevius.5ch.net/test/read.cgi/tech/1659855460/992
993: デフォルトの名無しさん (ワッチョイ 2302-tASO [27.94.242.45]) [] 2023/12/09(土) 14:27:43.55 ID:iYG1bkmj0 >>991 どうでもいいけど関数名の付け方にセンスないな コメントもつける意味がないゴミ 変換ならconvertとかにすりゃいいのに… http://mevius.5ch.net/test/read.cgi/tech/1659855460/993
994: デフォルトの名無しさん (オッペケ Sre1-tek/ [126.254.170.203]) [sage] 2023/12/09(土) 15:46:37.17 ID:W9usxQKOr /や:が入ってるのを明示してるのはコメントとして意味があるだろう http://mevius.5ch.net/test/read.cgi/tech/1659855460/994
995: デフォルトの名無しさん (ワッチョイ 1b56-m+YX [2400:4176:2846:5b00:*]) [sage] 2023/12/09(土) 16:39:16.69 ID:0uXDsiHr0 classのインスタンスで#プライベートメソッドにアクセスする方法ってないんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/995
996: 986 (ワッチョイ b51d-g9yR [180.178.89.53]) [sage] 2023/12/09(土) 17:13:36.47 ID:YETt4fHv0 >>990 はい リンクありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1659855460/996
997: デフォルトの名無しさん (オッペケ Sre1-tek/ [126.254.232.20]) [sage] 2023/12/09(土) 17:46:24.03 ID:Mnb70srnr なかったんで次スレ立てた https://mevius.5ch.net/test/read.cgi/tech/1702111239/ http://mevius.5ch.net/test/read.cgi/tech/1659855460/997
998: デフォルトの名無しさん (ワッチョイ 5510-yLTa [222.230.65.145]) [sage] 2023/12/10(日) 11:19:27.25 ID:ngtmyS7f0 >>992 サイトの使い方がいまいち分からず試してましたが、サイトでは症状が再現できず想定通りの挙動でした。これは作ってるアプリ側に原因があるのでしょうかね。 mementoというdbアプリだったのですが。 >>993 自覚はあります。プログラムに興味を持ち練習はじめなので勘弁してやってください。思いつかないんですorz http://mevius.5ch.net/test/read.cgi/tech/1659855460/998
999: デフォルトの名無しさん (ワッチョイ 35cb-tek/ [2400:2200:6f2:ada4:*]) [sage] 2023/12/10(日) 11:47:16.59 ID:v6fUhk/70 >>998 >>991を実行してる環境について書いてくれないと コードで見えてる部分以外については知りようがないんだから あと関数名を思いつかないならAIに候補を挙げさせるのはアリ 続きが必要なら次スレにどうぞ http://mevius.5ch.net/test/read.cgi/tech/1659855460/999
1000: デフォルトの名無しさん (ワッチョイ 8f18-Xgad [2001:268:98e3:8067:*]) [] 2023/12/16(土) 00:37:24.71 ID:xiFcB2tC0 テスト http://mevius.5ch.net/test/read.cgi/tech/1659855460/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 495日 8時間 39分 45秒 http://mevius.5ch.net/test/read.cgi/tech/1659855460/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《UPLIFT会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 4 USD/mon. から匿名でご購入いただけます。 ▼ UPLIFT会員登録はこちら ▼ https://uplift.5ch.net/ ▼ UPLIFTログインはこちら ▼ https://uplift.5ch.net/login http://mevius.5ch.net/test/read.cgi/tech/1659855460/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s