!extend:checked:vvvvvv:1000:512
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-5のテンプレを読んだ上で質問してください。次スレは>>950が>>2の「次スレの立て方」を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
■前スレ
JavaScript の質問用スレッド vol.124
https://mevius.5ch.net/test/read.cgi/tech/1636525464/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:: EXT was configured
探検
JavaScript の質問用スレッド vol.125
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 1301-RMnj [36.240.123.227])
2022/08/07(日) 15:57:40.26ID:TS5TGpUB0952デフォルトの名無しさん (ワッチョイ 0556-2Aft [202.71.49.47])
2023/11/20(月) 16:19:56.96ID:q8v/AXQl0 const arr =Array(3).fill([]);
arr[1].push(0);
console.log(arr);
この場合arrは[[], [0],[]]になっていることを期待するのですが実際には[[0], [0], [0]]となっています
まったく納得いかないのですがなぜですか
arr[1].push(0);
console.log(arr);
この場合arrは[[], [0],[]]になっていることを期待するのですが実際には[[0], [0], [0]]となっています
まったく納得いかないのですがなぜですか
953デフォルトの名無しさん (ワッチョイ 83f6-YW6P [2400:2200:6f1:ae40:*])
2023/11/20(月) 16:41:25.42ID:LC62eXy40 >>952
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#value
>配列を埋める値。もし value がオブジェクトであれば、配列のそれぞれの要素はそのオブジェクトを参照します。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#value
>配列を埋める値。もし value がオブジェクトであれば、配列のそれぞれの要素はそのオブジェクトを参照します。
954デフォルトの名無しさん (ワッチョイ 0556-2Aft [202.71.49.47])
2023/11/20(月) 16:49:32.78ID:q8v/AXQl0955デフォルトの名無しさん (ワッチョイ eb79-5mk2 [2400:2200:7f6:ca17:*])
2023/11/21(火) 08:31:09.87ID:reAksYQu0 いえいえ
956デフォルトの名無しさん (ワッチョイ 4d1d-TQK0 [180.178.89.53 [上級国民]])
2023/11/21(火) 23:06:08.47ID:Hk8WzggI0 変数宣言の際に、letよりconstを積極的に使うべき、とされているのはなぜでしょうか?
後で値を変えられるletの方が便利だと思うのですが
後で値を変えられるletの方が便利だと思うのですが
957デフォルトの名無しさん (ワッチョイ 0d5f-yKFx [14.8.104.32])
2023/11/22(水) 00:26:41.03ID:nlRha+4K0 JSにかかわらず変数は使ってる道中に値変換したり変数使いまわしてるとエラーの種になりやすいし、それを防止するのが大きいかな
配列やオブジェクトの値はconstでも変えられるし
昔はそういうごちゃごちゃ動く変数のトレースするのもプログラム組むやつの能力ってされてたなぁ
配列やオブジェクトの値はconstでも変えられるし
昔はそういうごちゃごちゃ動く変数のトレースするのもプログラム組むやつの能力ってされてたなぁ
958デフォルトの名無しさん (ワッチョイ e32f-e1iw [2400:2410:34a1:6700:*])
2023/11/22(水) 03:01:31.39ID:KDSVu4Ne0 コードを上から読んでいく時にconstだとこの値は後から変わることがないと決めつけて読むことができる
letだとどこかで書き換えられるのに注意しながら読まないといけない
letだとどこかで書き換えられるのに注意しながら読まないといけない
959デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/22(水) 10:49:23.49ID:5A+ZhXZi0 可読性の部分が大きいよね
varで変数定義しているクソコードなんかリファクタリングしたくないだろ?
varで変数定義しているクソコードなんかリファクタリングしたくないだろ?
960デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/22(水) 11:06:59.29ID:5A+ZhXZi0 constで最初から定義した後にそれが動的な値だった場合タイプエラーを起こしてからletに書き換える事はあるけど最初からletで定義しちゃうと後々constに書き換えた場合もしそれが動的な値ならプログラムそのものが動かなくなって新たなるバグを生むでしょう?
最初は縛りを強くしておいて後から緩めるはあるけど逆はないですよ
最初は縛りを強くしておいて後から緩めるはあるけど逆はないですよ
961デフォルトの名無しさん (ワッチョイ 35d5-SdNv [2404:7a82:3de0:3500:*])
2023/11/22(水) 15:03:20.05ID:hF+LjdVs0 条件によって const の値を変えられるようになるといいんだけどな。
簡単なのなら参考演算子でやれるけど。
簡単なのなら参考演算子でやれるけど。
962デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45])
2023/11/22(水) 20:15:59.75ID:5A+ZhXZi0 >>961
よくわからないけどそれってconst使う意味あるの?
よくわからないけどそれってconst使う意味あるの?
963デフォルトの名無しさん (ワッチョイ 2539-YW6P [2400:2200:6f2:ad2b:*])
2023/11/22(水) 20:54:04.80ID:FIiKhTS50 察するに初期代入時に場合によって違う値を入れたいということだろう
三項演算子を出してるし
三項演算子を出してるし
964956 (ワッチョイ 4d1d-f5/H [180.178.89.53])
2023/11/22(水) 21:26:20.43ID:VeafCB/q0 答えてくれた方々ありがとうございました
積極的にconstを使っていきたいと思います
積極的にconstを使っていきたいと思います
965デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240])
2023/11/22(水) 21:54:03.90ID: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 に切り出せよと言うかもしれないけど、できればそうすりゃいいけどどこにでも適用できるというわけでもない。
うまい例になってるかわからないけど、何かのプロパティに値が入ってたらそれ、無ければデフォルト値を 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 に切り出せよと言うかもしれないけど、できればそうすりゃいいけどどこにでも適用できるというわけでもない。
966デフォルトの名無しさん (ワッチョイ 250c-YW6P [2400:2200:6d0:af1d:*])
2023/11/22(水) 22:23:44.12ID:lZKHNjwl0 調べてみると苦肉の策で↓みたいな書き方が紹介されてたけど可読性考えるとどうだろうね
const x = (() => {
let a, b, c;
:
return a + b * c;
})();
const x = (() => {
let a, b, c;
:
return a + b * c;
})();
967デフォルトの名無しさん (ワッチョイ e3c2-fy5B [2001:240:2467:98ce:*])
2023/11/22(水) 22:52:37.25ID:8gAUwwkj0 関数に切り出さない意味がわからない
968デフォルトの名無しさん (ワッチョイ 6bcf-ekUX [153.206.41.110])
2023/11/23(木) 00:25:34.14ID:9np+Rtrn0 欲しいのはただのブロックなのに関数として書かなければならないというのが余計なことをやらされている感はある。
969デフォルトの名無しさん (ワッチョイ cd3b-8MWH [2409:251:9020:2100:*])
2023/11/23(木) 01:53:09.12ID:pAGXWPD10 var使え
970デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240])
2023/11/23(木) 15:16:53.54ID:d47OCYFA0 >>966
処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね
処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね
971デフォルトの名無しさん (ワッチョイ 2d12-YW6P [2400:2200:6f7:92d9:*])
2023/11/23(木) 15:39:42.20ID:98Thj8w70 >>970
その場合はタプルで受け取るようにすれば問題ないよ
const [x, y] = (() => {
let a, b, c;
:
return [a + b * c, a * b + c];
})();
その場合はタプルで受け取るようにすれば問題ないよ
const [x, y] = (() => {
let a, b, c;
:
return [a + b * c, a * b + c];
})();
972デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240])
2023/11/23(木) 15:58:06.00ID:d47OCYFA0973デフォルトの名無しさん (ワッチョイ 551d-1fOb [180.178.89.53])
2023/11/29(水) 23:49:26.08ID:oO9dmq1+0 const num = 1;
とした時、numはCやJavaのint型と違って、1という値のオブジェクトを参照している
という理解でよろしいでしょうか?
(numという名前でラベリングされたメモリ領域には、1そのものではなく
数値オブジェクトへの参照値が入っている?)
とした時、numはCやJavaのint型と違って、1という値のオブジェクトを参照している
という理解でよろしいでしょうか?
(numという名前でラベリングされたメモリ領域には、1そのものではなく
数値オブジェクトへの参照値が入っている?)
974デフォルトの名無しさん (ワッチョイ e501-3M3b [60.118.124.10])
2023/11/30(木) 04:02:01.17ID:uIFlL3tD0975973 (ワッチョイ 551d-1fOb [180.178.89.53])
2023/11/30(木) 22:41:28.93ID:l5hD/Y3Y0976デフォルトの名無しさん (ワッチョイ cb01-0ikQ [2001:240:2461:5256:*])
2023/11/30(木) 22:57:08.84ID:mSFTiyup0977デフォルトの名無しさん (ワッチョイ 25f0-5Z4W [220.146.53.208])
2023/11/30(木) 23:13:04.35ID:5k4SwxyG0978デフォルトの名無しさん (ワッチョイ e501-3M3b [60.118.124.10])
2023/12/01(金) 01:54:56.09ID:Bo4sqMI/0979975 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/02(土) 04:48:25.07ID:3pMMmiCv0980デフォルトの名無しさん (ワッチョイ 99ca-egvc [2400:2200:6f3:92ab:*])
2023/12/02(土) 10:49:58.14ID:qpNh64Np0 >>977は気にしなくていいよ
英語苦手でもプリミティブには7つの型がある、ぐらいは読めるだろう
あと日本語のページがないか調べるぐらいはしよう
https://developer.mozilla.org/ja/docs/Glossary/Primitive
英語苦手でもプリミティブには7つの型がある、ぐらいは読めるだろう
あと日本語のページがないか調べるぐらいはしよう
https://developer.mozilla.org/ja/docs/Glossary/Primitive
981デフォルトの名無しさん (ワッチョイ 91ca-j/4L [122.132.80.240])
2023/12/02(土) 11:43:24.98ID:/unkk9Eq0 >>979
そもそもそんなことを気にしてどうするの?
何がしたくての質問?
ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。
そもそもそんなことを気にしてどうするの?
何がしたくての質問?
ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。
982979 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/03(日) 12:45:58.94ID:FUDcVj1n0983デフォルトの名無しさん (ワッチョイ c1b6-egvc [2400:2200:6d6:9e9c:*])
2023/12/03(日) 13:08:07.26ID:tV1DejKO0 >>975の質問なんかは明らかに自分のスキルや理解力に不相応なことを知ろうとしてない?
それを知ろうとするのはもっと力を付けてからがいいと思う
それを知ろうとするのはもっと力を付けてからがいいと思う
984デフォルトの名無しさん (ワッチョイ 1901-+tyV [60.118.124.10])
2023/12/03(日) 14:24:30.66ID:GsReymgf0 >>982
実装を知る以前に仕様は理解してる?
「仕様書のここをどうやって実装しているか、を知りたい」なら誰かしら答えるかもしれないが、そのようなレベルにも見えない
仕様を理解せずして、実装を理解するのは無理
実装を知る以前に仕様は理解してる?
「仕様書のここをどうやって実装しているか、を知りたい」なら誰かしら答えるかもしれないが、そのようなレベルにも見えない
仕様を理解せずして、実装を理解するのは無理
985デフォルトの名無しさん (オイコラミネオ MM95-j/4L [150.66.80.109])
2023/12/03(日) 17:15:18.22ID:TpyXoIhbM986982 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/04(月) 23:09:24.91ID:GWbm6wp00987デフォルトの名無しさん (ワッチョイ a95f-i/h+ [14.8.104.32])
2023/12/04(月) 23:27:59.49ID:lRGkzbxI0 そのレベルを気にする人はもうフレームワーク作るレベルだろう
988デフォルトの名無しさん (アウアウウー Sa9d-/D3x [106.146.123.7])
2023/12/05(火) 20:06:09.74ID:gtr9NjJza >>982
あ、ややこしい書き方してすまん
単にuint64_tが値の参照でオブジェクトの場合はポインタが入ってて
整数の場合はそのまま使ってると言うことを言いたかっただけ
typedef uint64_t JsValue;
JsValueが「値」を指す参照
JsValue obj = createObject(); // Object
JsValue smi = createSmi(); // Small Integer
こうすることでオブジェクトも数値も同じように扱える
V8もJSCも全部これ
あ、ややこしい書き方してすまん
単にuint64_tが値の参照でオブジェクトの場合はポインタが入ってて
整数の場合はそのまま使ってると言うことを言いたかっただけ
typedef uint64_t JsValue;
JsValueが「値」を指す参照
JsValue obj = createObject(); // Object
JsValue smi = createSmi(); // Small Integer
こうすることでオブジェクトも数値も同じように扱える
V8もJSCも全部これ
989982,986 (ワッチョイ 691d-zrcD [180.178.89.53])
2023/12/05(火) 23:32:22.63ID:c1y4Tvg20990デフォルトの名無しさん (ワッチョイ 1901-+tyV [60.120.204.187])
2023/12/06(水) 00:21:20.37ID:HaZOzd170 >>986
入門書を読んで間もないレベルなら、口が避けても「仕様を理解した」とは言えない
実装を覚えるのは仕様書を読めるようになった後だろう
https://262.ecma-international.org/14.0/
入門書を読んで間もないレベルなら、口が避けても「仕様を理解した」とは言えない
実装を覚えるのは仕様書を読めるようになった後だろう
https://262.ecma-international.org/14.0/
991デフォルトの名無しさん (ワッチョイ 4b6e-yLTa [240a:61:11a:237d:*])
2023/12/09(土) 10:39:43.45ID:npLWblUF0 素人な質問で申し訳有りません。
下記のスクリプトで何故か関数丸々出力されてしまうのです。
テキストでは改行が多すぎる為、投稿出来ないため画像で申し訳有りません。
下のグレーのフォントが出力結果です。
出力指定していないので、何も出力されないはずなのですが…。
https://i.imgur.com/tJnx1oK.jpg
下記のスクリプトで何故か関数丸々出力されてしまうのです。
テキストでは改行が多すぎる為、投稿出来ないため画像で申し訳有りません。
下のグレーのフォントが出力結果です。
出力指定していないので、何も出力されないはずなのですが…。
https://i.imgur.com/tJnx1oK.jpg
992デフォルトの名無しさん (ワッチョイ 4501-zRS8 [60.106.64.223])
2023/12/09(土) 11:31:37.42ID:In8GNdRi0993デフォルトの名無しさん (ワッチョイ 2302-tASO [27.94.242.45])
2023/12/09(土) 14:27:43.55ID:iYG1bkmj0994デフォルトの名無しさん (オッペケ Sre1-tek/ [126.254.170.203])
2023/12/09(土) 15:46:37.17ID:W9usxQKOr /や:が入ってるのを明示してるのはコメントとして意味があるだろう
995デフォルトの名無しさん (ワッチョイ 1b56-m+YX [2400:4176:2846:5b00:*])
2023/12/09(土) 16:39:16.69ID:0uXDsiHr0 classのインスタンスで#プライベートメソッドにアクセスする方法ってないんでしょうか?
996986 (ワッチョイ b51d-g9yR [180.178.89.53])
2023/12/09(土) 17:13:36.47ID:YETt4fHv0997デフォルトの名無しさん (オッペケ Sre1-tek/ [126.254.232.20])
2023/12/09(土) 17:46:24.03ID:Mnb70srnr998デフォルトの名無しさん (ワッチョイ 5510-yLTa [222.230.65.145])
2023/12/10(日) 11:19:27.25ID:ngtmyS7f0999デフォルトの名無しさん (ワッチョイ 35cb-tek/ [2400:2200:6f2:ada4:*])
2023/12/10(日) 11:47:16.59ID:v6fUhk/701000デフォルトの名無しさん (ワッチョイ 8f18-Xgad [2001:268:98e3:8067:*])
2023/12/16(土) 00:37:24.71ID:xiFcB2tC0 テスト
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 495日 8時間 39分 45秒
新しいスレッドを立ててください。
life time: 495日 8時間 39分 45秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 ★3 [煮卵★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★2 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も [1ゲットロボ★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★2 [1ゲットロボ★]
- 「稼ぐのよ!」高市が電話でガチャ切り😱鈴木農水大臣に伝えたこと… [993451824]
- 【悲報】女性初の総理大臣 高市早苗氏、安倍晋三さんが積み上げてきたものを一瞬でぶっ壊してしまう😱wwwwwwwwwwwwwwwwwwwwww [871926377]
- 愛国者ナザレンコ「左翼は自己中な差別主義者で偽善者。日本人ファーストを叩いておいて台湾人が死んでも知らな〜いでしょ。中露の犬」 [856698234]
- 今から鮭のんでいい?明日5時起きなんだけど
- 【悲報】有名ウヨ論客、「現実的に考えて中国と仲直りするしかなくね?」と言ったら野良ウヨから総叩きにあう [856698234]
- トランプ聖帝「中国を倒すのではなく協力することでアメリカは強くなる!MAGA!」 高市どうすんのこれ… [878970802]
