[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
前次1-
抽出解除 レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
965: デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240]) [sage] 2023/11/22(水) 21:54:03.90 ID:7CtxEw9g0(1) AAS
>>962
962(1): デフォルトの名無しさん (ワッチョイ e302-8oJ/ [27.94.242.45]) [] 2023/11/22(水) 20:15:59.75 ID:5A+ZhXZi0(3/3) AAS
>>961
よくわからないけどそれってconst使う意味あるの?
うまい例になってるかわからないけど、何かのプロパティに値が入ってたらそれ、無ければデフォルト値を 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 に切り出せよと言うかもしれないけど、できればそうすりゃいいけどどこにでも適用できるというわけでもない。
970
(1): デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240]) [sage] 2023/11/23(木) 15:16:53.54 ID:d47OCYFA0(1/2) AAS
>>966
966(1): デフォルトの名無しさん (ワッチョイ 250c-YW6P [2400:2200:6d0:af1d:*]) [sage] 2023/11/22(水) 22:23:44.12 ID:lZKHNjwl0(1) AAS
調べてみると苦肉の策で↓みたいな書き方が紹介されてたけど可読性考えるとどうだろうね
const x = (() => {
let a, b, c;
:
return a + b * c;
})();
処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね
972: デフォルトの名無しさん (ワッチョイ 25ca-SdNv [122.132.80.240]) [sage] 2023/11/23(木) 15:58:06.00 ID:d47OCYFA0(2/2) AAS
>>971
971(1): デフォルトの名無しさん (ワッチョイ 2d12-YW6P [2400:2200:6f7:92d9:*]) [sage] 2023/11/23(木) 15:39:42.20 ID:98Thj8w70(1) AAS
>>970
その場合はタプルで受け取るようにすれば問題ないよ
const [x, y] = (() => {
let a, b, c;
:
return [a + b * c, a * b + c];
})();
ああ、それが現状の最適解な気がするね。
後で汎用関数化したくなっても対応しやすいし。
まあ >>968
968(1): デフォルトの名無しさん (ワッチョイ 6bcf-ekUX [153.206.41.110]) [sage] 2023/11/23(木) 00:25:34.14 ID:9np+Rtrn0(1) AAS
欲しいのはただのブロックなのに関数として書かなければならないというのが余計なことをやらされている感はある。
みたいな感覚はあるし、関数としてのコストも気になっちゃうけど。
981
(1): デフォルトの名無しさん (ワッチョイ 91ca-j/4L [122.132.80.240]) [sage] 2023/12/02(土) 11:43:24.98 ID:/unkk9Eq0(1) AAS
>>979
979(1): 975 (ワッチョイ 691d-zrcD [180.178.89.53]) [sage] 2023/12/02(土) 04:48:25.07 ID:3pMMmiCv0(1) AAS
返信くれた方々、ありがとうございます

>>976
TOEICのスコア400点台だったので厳しいです…

>>977
参照扱いでもプリミティブ型って言うんですか?
Javaではintやdoubleなど参照を用いずにデータを記憶する型をプリミティブ型と
呼んでいたので、少し混乱しています…

>>978
すみません、以後気を付けます
そもそもそんなことを気にしてどうするの?
何がしたくての質問?

ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.068s