[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
963: (ワッチョイ 2539-YW6P [2400:2200:6f2:ad2b:*]) 2023/11/22(水)20:54 ID:FIiKhTS50(1) AAS
察するに初期代入時に場合によって違う値を入れたいということだろう
三項演算子を出してるし
964: 956 (ワッチョイ 4d1d-f5/H [180.178.89.53]) 2023/11/22(水)21:26 ID:VeafCB/q0(1) AAS
答えてくれた方々ありがとうございました
積極的にconstを使っていきたいと思います
965: (ワッチョイ 25ca-SdNv [122.132.80.240]) 2023/11/22(水)21:54 ID:7CtxEw9g0(1) AAS
>>962
うまい例になってるかわからないけど、何かのプロパティに値が入ってたらそれ、無ければデフォルト値を const に入れたいとか、この条件がもっと複雑になった感じとか。
あるいは、何かの基準座標を const に入れたいけどその値は一発では求まらないとか。
単にこれだけなら中間的な変数を使って値を求めて、最後に const に代入するって手もあるだろうけど、中間的な変数はスコープから追い出したいのにできないよね。
const x;
{
let a, b, c;
:
x = a + b * c;
}
省6
966(1): (ワッチョイ 250c-YW6P [2400:2200:6d0:af1d:*]) 2023/11/22(水)22:23 ID:lZKHNjwl0(1) AAS
調べてみると苦肉の策で↓みたいな書き方が紹介されてたけど可読性考えるとどうだろうね
const x = (() => {
let a, b, c;
:
return a + b * c;
})();
967: (ワッチョイ e3c2-fy5B [2001:240:2467:98ce:*]) 2023/11/22(水)22:52 ID:8gAUwwkj0(1) AAS
関数に切り出さない意味がわからない
968(1): (ワッチョイ 6bcf-ekUX [153.206.41.110]) 2023/11/23(木)00:25 ID:9np+Rtrn0(1) AAS
欲しいのはただのブロックなのに関数として書かなければならないというのが余計なことをやらされている感はある。
969: (ワッチョイ cd3b-8MWH [2409:251:9020:2100:*]) 2023/11/23(木)01:53 ID:pAGXWPD10(1) AAS
var使え
970(1): (ワッチョイ 25ca-SdNv [122.132.80.240]) 2023/11/23(木)15:16 ID:d47OCYFA0(1/2) AAS
>>966
処理の結果として複数の const、例えば x y を求めたい時は、その書き方でも難があるよね
971(1): (ワッチョイ 2d12-YW6P [2400:2200:6f7:92d9:*]) 2023/11/23(木)15:39 ID:98Thj8w70(1) AAS
>>970
その場合はタプルで受け取るようにすれば問題ないよ
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 ID:d47OCYFA0(2/2) AAS
>>971
ああ、それが現状の最適解な気がするね。
後で汎用関数化したくなっても対応しやすいし。
まあ >>968 みたいな感覚はあるし、関数としてのコストも気になっちゃうけど。
973(2): (ワッチョイ 551d-1fOb [180.178.89.53]) 2023/11/29(水)23:49 ID:oO9dmq1+0(1) AAS
const num = 1;
とした時、numはCやJavaのint型と違って、1という値のオブジェクトを参照している
という理解でよろしいでしょうか?
(numという名前でラベリングされたメモリ領域には、1そのものではなく
数値オブジェクトへの参照値が入っている?)
974(1): (ワッチョイ e501-3M3b [60.118.124.10]) 2023/11/30(木)04:02 ID:uIFlL3tD0(1) AAS
>>973
1 はプリミティブ値。
Object型ではない。
975(2): 973 (ワッチョイ 551d-1fOb [180.178.89.53]) 2023/11/30(木)22:41 ID:l5hD/Y3Y0(1) AAS
>>974
レスありがとうございます
分かりました
文字列('Hello World'など)もプリミティブなんですよね
どうやって内部で実装されてるんですか?
976(1): (ワッチョイ cb01-0ikQ [2001:240:2461:5256:*]) 2023/11/30(木)22:57 ID:mSFTiyup0(1) AAS
MDNをまず読みましょう
外部リンク:developer.mozilla.org
977(2): (ワッチョイ 25f0-5Z4W [220.146.53.208]) 2023/11/30(木)23:13 ID:5k4SwxyG0(1) AAS
>>973
実装的には全て参照扱いだよ
ただし数値の場合は参照(ポインタ)そのものに数値を埋め込むという方法
だから全て参照だけどメモリは消費しないというハック
978(1): (ワッチョイ e501-3M3b [60.118.124.10]) 2023/12/01(金)01:54 ID:Bo4sqMI/0(1) AAS
>>975
質問が大雑把過ぎる
もっと具体的に詳しく
979(1): 975 (ワッチョイ 691d-zrcD [180.178.89.53]) 2023/12/02(土)04:48 ID:3pMMmiCv0(1) AAS
返信くれた方々、ありがとうございます
>>976
TOEICのスコア400点台だったので厳しいです…
>>977
参照扱いでもプリミティブ型って言うんですか?
Javaではintやdoubleなど参照を用いずにデータを記憶する型をプリミティブ型と
呼んでいたので、少し混乱しています…
>>978
すみません、以後気を付けます
980(1): (ワッチョイ 99ca-egvc [2400:2200:6f3:92ab:*]) 2023/12/02(土)10:49 ID:qpNh64Np0(1) AAS
>>977は気にしなくていいよ
英語苦手でもプリミティブには7つの型がある、ぐらいは読めるだろう
あと日本語のページがないか調べるぐらいはしよう
外部リンク:developer.mozilla.org
981(1): (ワッチョイ 91ca-j/4L [122.132.80.240]) 2023/12/02(土)11:43 ID:/unkk9Eq0(1) AAS
>>979
そもそもそんなことを気にしてどうするの?
何がしたくての質問?
ぶっちゃけ表向き気にするべきなのは、その変数 a を別の変数 b に代入して、b を操作したら a まで同じように変わるのかどうかだけだと思うよ。
982(2): 979 (ワッチョイ 691d-zrcD [180.178.89.53]) 2023/12/03(日)12:45 ID:FUDcVj1n0(1) AAS
>>980
分かりました
ありがとうございます
>>981
レスありがとうございます
うーん、まあこだわりとでも言いましょうか…
個人的にはそこまで知っておくことは無駄ではないと思います
上下前次1-新書関写板覧索設栞歴
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s