X

+ JavaScript の質問用スレッド vol.144 +

■ このスレッドは過去ログ倉庫に格納されています
2020/05/02(土) 10:59:35.08ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
質問者は !slip:vvvvv を名前欄に、その後は「レス番」+!slip:vvvvv
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為
■質問テンプレート
【環境】ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです

■前スレ
+ JavaScript の質問用スレッド vol.143 +
https://mevius.5ch.net/test/read.cgi/hp/1577357404/
2020/05/24(日) 11:59:00.51ID:???
>>383
その文章は人に伝わらないなぁ
2020/05/24(日) 12:38:47.58ID:???
能無しが能無しを自己証明していく流れ
2020/05/24(日) 13:10:48.73ID:???
人に伝わらない文章なら最初から書く必要無し
2020/05/24(日) 13:24:02.02ID:???
無能「>>386が何言ってるのか分からない」
無能「>>386が無能」
2020/05/24(日) 14:14:30.22ID:???
人に伝わらない質問は回答する必要なし
2020/05/24(日) 14:33:21.86ID:???
>>384も「伝わらない文章」の一つだな
2020/05/24(日) 14:51:46.73ID:???
質問が理解できないということについて、書き手が悪いのか聞き手が悪いのかではなく、
伝わらない時点で書き手はさらなる努力か諦めるべきだし、聞き手は真摯に情報を洗い出すかスルーする努力をすべき

無能はこれが分かってない
2020/05/24(日) 15:00:33.96ID:???
>>390
質問者と回答者だと、回答者が偉いって理解してる?
格下が格上にへりくだるのは当たり前のこと
2020/05/24(日) 15:07:39.56ID:???
と、低脳イキリマウント回答者が仰っています
2020/05/24(日) 15:13:16.17ID:???
>>391
君の言うとおり格下が格上にへりくだるべきという条件を認めたとしても、
努力をすべき>>390の内容に掠りもしてないので君は無能
2020/05/24(日) 15:19:16.19ID:???
わからないのは質問者が悪いし、
回答はどんなものでもありがたく受け取れ
回答にケチをつけるな
2020/05/24(日) 15:43:27.91ID:???
>>394が何言ってるのか分からない
2020/05/24(日) 16:02:44.43ID:???
>>395
条件後出しされたらムカつくだろ
そういう話だ
2020/05/24(日) 19:27:59.76ID:???
質問者出汁にしてニートが言い争うニートのためのストレス発散用スレッド
2020/05/24(日) 19:41:13.19ID:???
質問が理解できないって言っとけば質問者が悪いのでマウントを取れる仕組みのスレです
2020/05/24(日) 19:47:09.74ID:???
そういう話じゃねーよ。せっかく回答してやってるのに
後出しでvueを使わない方法でって言われたらムカつくだろうが
2020/05/24(日) 23:29:57.90ID:???
画面越しの数十文字にどんだけ人生かけてるんだか
別に自分が好きなように回答したのだから堂々としとけばよかろう
ネット上の赤の他人に何を期待してるんだか
2020/05/24(日) 23:36:36.78ID:???
そう思うなら、ネット上の他人のコメントにも期待しなければいいのに、反応するところが自己矛盾
2020/05/25(月) 00:13:38.78ID:???
375までのやりとりで376-377が火を付けたように見えるんだが
どこからvueを使わない方法という話でムカつかれたのか理解できませんけど
比較的マジレス
2020/05/25(月) 00:36:41.82ID:???
俺は回答者なら回答者らしく堂々と自己満足しとけばと言ってるだけで
あらゆる人はあらゆる他人の発言をコメントを気にするなとは言っていない
それを言い出すとそもそも関わるな、回答するなという論調になるだろう

そして100歩譲っても「自己矛盾」はしていない
相手に対してこうした方がいいよと言っていることを
必ずしも言ってる本人ができないとおかしいとは俺は思わないし
俺はそんな立派な人間ではないしなろうともなれるとも思っていない
そういうのは「自己矛盾」ではなく、「お前もな」という
そういうのは、むしろ自分が親しいところにいるからこその発言なのである

期待と言っても色々ある
相手が思うどおりに動かないことに腹をたてるのは
自分がコントロール欲求の強い人間なのかもしれない
そういう考えが自分と周りの人の幸せのために必要
2020/05/25(月) 02:16:31.94ID:???
>>403
そこまで自分勝手で説得力の欠片もない理屈を並べ立てられる人は珍しい
405Name_Not_Found
垢版 |
2020/05/25(月) 03:29:58.42ID:JiXPo7fa
はいはい
また長文でスレ違いの書き込みするのはやめましょうねー
2020/05/25(月) 06:36:17.65ID:???
やめましょうね~といいつつ煽奴~
2020/05/25(月) 07:38:41.11ID:???
2時3時のニート君
2020/05/25(月) 08:08:43.87ID:???
>>403
長文はいいけど、コントロール欲求が強いなら、他人にあなたの意見を納得させるぐらいのことをしなよ

> そういうのは、むしろ自分が親しいところにいるからこその発言なのである

我が儘な孫ほど可愛い理論が、赤の他人にも適用出来ると思ってる?

・荒らしが「荒らすな」と怒る
・横柄な質問者が「親切に対応して下さい」とクレームを入れる

全部、親しみを持てるんだ?
2020/05/25(月) 08:30:20.76ID:???
>>403
> 相手が思うどおりに動かないことに腹をたてるのは
> 自分がコントロール欲求の強い人間なのかもしれない
> そういう考えが自分と周りの人の幸せのために必要

他人が幸せになるロジックが分からん
誰か翻訳を頼む
2020/05/25(月) 10:09:13.72ID:???
親しい
https://dictionary.goo.ne.jp/word/%E8%BF%91%E3%81%97%E3%81%84/
2020/05/25(月) 12:48:18.97ID:???
>>408
だからさ、>>403でも書いたけど人の話を拡大解釈するのはやめようよ

俺は別にコントロール欲求強いぞとアピールしていません
どんなアピールやねんw
>>401に100歩譲ってどうせ突っ込むならこういう方向性でしょ?っていう一般論を述べただけ

我儘な孫がどうこうも言っていない
他人に対して口癖の様に何かを注意する人って
過去その人が言われたり、本人が執着してるっぽいよねー
っていう一般論を語ったんだよ

要するに変なボケ突っ込みっぽいのが来たからツッコミ返しただけよ
おわかり?
2020/05/25(月) 13:07:30.16ID:???
vueを使わない話でムカついたってのを説明してくれるんですね
2020/05/25(月) 13:55:58.00ID:???
親しみ云々は俺も分からん
>>400に「お前もな」で、親しみなんか感じないんだが?
2020/05/25(月) 17:29:31.45ID:???
"○×"[2>1|0]

で、出力 ○ になるんですが

これの意味がわからないのです
何と言う計算方法なのかが分からないので検索もできません
どなたかご教授いただけると助かります
2020/05/25(月) 17:47:29.24ID:???
2>1がtrueなので、添字は[true|0]=[1]になり、
"○×"[1] = "×"になる。
○になるのは気のせい
2020/05/25(月) 18:05:17.34ID:???
>>415
ありがとうございます
マルバツではなくバツマルでした
中身を比較計算するのですね助かりました
2020/05/26(火) 14:57:35.96ID:???
ちなみに、「x|0」みたいな計算は、
整数でないかも知れない x を何でも、半ばムリヤリ整数化するのによく使われるイディオム。
true は 1 になるし、文字列 "123" は 123 になるし、nullや "hoge" は 0 になる。
何の解説も無く使いまくるのは、いい習慣ではない気もするけど。。。

演算子「|」は、内部的には「ToInt32()」という操作をして32bit整数化せよ、と仕様で決まってる。
↓は古い仕様だけど、今でも本質は同じ。
ttp://www.ecma-international.org/ecma-262/5.1/#sec-11.10

# ・・と自分は理解してるけど、合ってるのかしら?
2020/05/26(火) 16:06:15.34ID:???
intに自動キャストされてるけどtrue|0ってちょっとなあって感じ
三項演算子のほうがいいんじゃない長くなるけど
ていうかテクとしては面白いけどそこまでコード短くしようとしないほうがいいよ
可読性最悪だし業務じゃ殴られる
2020/05/26(火) 18:39:31.54ID:???
可読性もそうだけど、32bitで丸められるし、算術演算子で整数化するのが妥当だと思うな
2020/05/26(火) 19:47:48.99ID:???
本当に整数にしたいときは|0でいいけど
数値化したいときは単項演算子の+を使おう

hoge = +input.value

>>417
落ち着いて考えたら分かるけど、
32bit化されるのは数値のみ
数値でないものは一旦数値として評価されてからの話になる
そういう点では他の算術演算子と同じなので、
数値化したいというときは単行+演算子を使おう
2020/05/27(水) 01:28:15.34ID:???
window.loadイベントのevent.targetがDocumentを示すのは何故なのか。
「event.targetはイベントを起こしたやつ」と認識していたが違うのかね?
document.loadは動かんし(動かんのも謎だが)、window.loadのeventPhaseは2だし。
2020/05/27(水) 02:44:06.69ID:???
>>421
https://triple-underscore.github.io/uievents-ja.html#event-type-load
2020/05/27(水) 13:38:46.02ID:???
仮に英語苦手な日本人が命名していたとして も、イベントを起こしたやつをtargetなんて名前にはしないだろ。
424Name_Not_Found
垢版 |
2020/05/27(水) 13:47:43.51ID:xBZf5zkB
まあでも
mdnとかでもそう説明されてますし
2020/05/27(水) 15:45:28.47ID:???
まじか。正直すまんかった
2020/05/27(水) 20:33:21.22ID:???
シンボルって使うことあるんですか?
イマイチ使い道が分からなかったのですが
2020/05/27(水) 20:55:23.64ID:???
>>426
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Symbol
428Name_Not_Found
垢版 |
2020/05/27(水) 21:37:01.58ID:/TjXaiTQ
>>426
const obj = {};

const key1 = 'isono';
const val1 = 'namihei';

obj[key1] = val1;

const key2 = 'isono';
const val2 = 'katsuo';

obj[key2] = val2;

console.log(obj[key1]); // katsuo
console.log(obj[key2]); // katsuo

これはkey1とkey2が同じだから当たり前

const key3 = Symbol('fuguta');
const val3 = 'masuo';

obj[key3] = val3;

const key4 = Symbol('fuguta');
const val4 = 'tarao';

obj[key4] = val4;

console.log(obj[key3]); // masuo
console.log(obj[key4]); // tarao

シンボルは引数がなんであろうと同一にならないからこうなる
2020/05/28(木) 12:56:03.31ID:???
const厨
2020/05/28(木) 13:15:11.02ID:???
使わない理由がない
2020/05/28(木) 19:32:06.27ID:???
最近の質問、何も調べてない初心者ばっかだな
2020/05/28(木) 20:07:36.93ID:???
使わない理由がない?
なら普段歩くときに必要もないのに杖を付くのか?

明確に使う必要性が無いものは使わない
それが普通の考え
その逆の思考だとゴミ屋敷になる
2020/05/28(木) 20:14:28.79ID:???
>>432
あほか。メリットがあるからに決まってるだろ。ちょっとは勉強しな
2020/05/28(木) 20:20:19.38ID:???
>>432は回答を引き出すための前振りだろ
関わっちゃダメ
2020/05/28(木) 21:08:31.68ID:???
constを使わないということは変数の中身が書き変わっているのか意識しなくてはならない
再代入が必要になる変数にのみletを使う
これこそ正に"明確な必要性に応じて"使っているじゃないか

varやletなんてのは杖をつくどころか砂利道を裸足で歩いているようなもんだ

そして後からそのコードを読むものにもその道を裸足で歩くことを強要しているのだ
2020/05/28(木) 22:06:15.78ID:???
もっとレベル高い話して
2020/05/28(木) 22:31:13.39ID:???
もっとレベル高い質問して
2020/05/29(金) 01:13:27.30ID:???
function sendRequest(data) {
const request = new Request("/custom/execute", {
method: "POST",
body: data
});
fetch(request)
.then(function(response) {
if(response.ok) return response.arrayBuffer();
})
.then(function(body) {
const decoder = new TextDecoder("Shift_JIS");
const result = decoder.decode(body);
})
}
非同期とかわけわからんのだけどresultをreturnとか呼び出し元に返すにはどうすりゃいいの?
2020/05/29(金) 07:05:22.13ID:???
>>438
通信って少なからず時間がかかるわけじゃん?
そんでそれがいつまでかかるのかもわからん
その時間を待たずに次にの処理実行しちゃうぜ
ってのが非同期

んでそのsendRequest関数をasyncにして
fetchをawaitにすれば、プロミスを返す関数になるから
呼び出し元でもthenとcatchが使えるようになる
2020/05/29(金) 07:11:37.92ID:???
>>435
馬鹿も休み休み言え
お前は普段ArrayやDateも変更されてるかもしれないと心配してるのか?
オブジェクトも各プロパティ毎に書き込み禁止や編集禁止を設定してるのか?
型チェックは?

お前とイタズラ坊主が同じページで動作するライブラリを作っている状態で
どうしてもお前が変更されたくないグローバル変数を置きたいというのであればconstを使う意味はある
でもletでも2重宣言は防げるのだから、そうでない場面で使うのは過剰だろ

お前は
const HENNKOUSURUNA = 42
HENNKOUSURUNA = -1
のようなコードを書かないという程度の自信もないのか?
それだったらお前が色々JSで気をつけてる行為そのものの正確性が不安だろう

最初から事前チェックをしっかりしてくれる言語で書いて変換したほうが100倍良い
JSはそういう言語ではないから
JSは制限したりチェックしたりするのではなく、
合わせたり乗り越えたりして恒常性を維持していきやすい言語だから
2020/05/29(金) 07:22:32.39ID:???
>>440
> お前は普段ArrayやDateも変更されてるかもしれないと心配してるのか?
ArrayやDateは変更されることはないだろうなってわかるから心配してない
もし変更していたら、変更するほうが悪いと言える。

しかし任意で作った変数はそうはいかない。変更しないかもしれないし
変更するかもしれない。保証がない。だからconstで明確にする必要がある。

同じ変数でもundefinedは変更するほうが悪いに属する変数だから
わざわざconstにする必要はない。
2020/05/29(金) 07:27:22.10ID:???
>>440
できるできないではない。
コードに意図を書くことが重要。

別にconstではなくてもコメントで「この変数は再代入しない」と書いても良い
意図を書くという目的は達成できている。

ただし言語にconstという機能があるのだからそれを使ったほうが簡単

> どうしてもお前が変更されたくないグローバル変数を置きたい
つまり「変更されたくないグローバル変数を起きたい」のではない
「このグローバル変数は変更しないという設計である」という意図を込めるために使う

今ではletを使うということは「変更する事がある」という意図を込めることになっている。
変更することがあるという意図が込められてるのに、変更していない。なんでや?(バグか?)ということになる。
2020/05/29(金) 09:23:08.72ID:???
あきらかに定数でないものにconst使うのってどうなの
2020/05/29(金) 09:45:56.82ID:???
>>443
定数の定義とは?
2020/05/29(金) 10:08:50.90ID:???
>>443
全く問題ないですわよ

多分ほかの言語のdefineとかを想定してると思いますわよが
それは Object.defineProperty() のおしごとですわ
2020/05/29(金) 10:19:01.56ID:???
まああれですよ
今まで20年以上varで問題なかったのになんで今頃?
っていうのが人情ですよ
うちの親会社のアメリカ人も似たようなこと言ってる

本当に上書き保護が必要なら
8年前からTypeScriptで書いてるだろうと
2020/05/29(金) 11:32:04.77ID:???
>>446
どんな言語も最初から完全な形でリリースされているわけではない
今までアセンブラで頑張っていたのに、なんでC言語?というようなもんだろ
constの方が良いから使うだけの話だろ
2020/05/29(金) 11:32:47.43ID:???
> うちの親会社のアメリカ人も似たようなこと言ってる
それは「うちの未熟な新人も似たようなことを言ってる」となにか違う意味でもあるのか?
2020/05/29(金) 12:33:49.99ID:???
何事にも、変化に対応できない人間がいつも新しいものに文句を付ける
それだけのことさ

constなんて概念自体クッソ古いけど、これにすら文句付けるってどんだけ脳味噌固いんだか
2020/05/29(金) 12:45:44.14ID:???
新しいものを取り入れるのと、飲み込まれるのは違う
2020/05/29(金) 12:54:02.51ID:???
>>442
それは違うと思う
変数を見てそれがどんな宣言状態なのか分からないし
だからこそ定数であるという意図を込めるために、
元々定数があった言語でさえも定数は大文字と言ったような慣習があるんでしょ?

変数に意図を込める方法は変数名に込めるしかないでしょ
それとも変数を見るたびにわざわざ宣言部分を探してそこから意図を汲み取ろうとするのか?
あるいはletで宣言されている変数を見つけたら、その後全ての使われ方を見て
変更されてなかったらおかしいという謎の遊びをするのか?
何も問題が起きてるわけでないのにわざわざ?

結局君がconstに拘ってるのは君が変態でへんくうだからでしょ?
2020/05/29(金) 13:14:09.85ID:???
> 変数を見てそれがどんな宣言状態なのか分からないし

constって書いてあるからわかるじゃん?
2020/05/29(金) 13:14:45.47ID:???
> 変数に意図を込める方法は変数名に込めるしかないでしょ

iCountとかいう名前にしろってこと?
懐かしのハンガリアンw
2020/05/29(金) 13:16:50.62ID:???
> それとも変数を見るたびにわざわざ宣言部分を探してそこから意図を汲み取ろうとするのか?

え?短期記憶もできないの?
関数は一画面に収まるほど短いんだから
宣言部分なんて上の方見ればわかるじゃん

それに上でまとめて宣言なんてこともしてはだめ
使うところの近くで宣言されてる
2020/05/29(金) 13:17:58.26ID:???
> 変更されてなかったらおかしいという謎の遊びをするのか?

コードを見て変更されてないのに、なんでletを使ってるんだろう?
という疑問を解決する必要がある
遊びではない。仕事だ。
2020/05/29(金) 13:31:32.90ID:???
>>448
日本だけじゃないんだなあ
って思ったから
2020/05/29(金) 13:37:40.22ID:???
>>456
世界中のどこでもアホはいる。当たり前だよw
2020/05/29(金) 14:27:58.97ID:???
大文字にした上でconstもつければいいじゃない。
値が書き変わらない変数は、単にconstをつければいい。
読みやすい上に開発環境からの恩恵も受けられる。
2020/05/29(金) 14:36:02.45ID:???
constみたいなわかりやすい話題はどの言語でも食いつきがいいな
2020/05/29(金) 14:40:14.66ID:???
IE で常用対数を使いたいのだけれども どうしたらよいのかしら・・・
2020/05/29(金) 14:59:22.90ID:???
>>460
Math.log(x) * Math.LOG10E
2020/05/29(金) 15:02:28.31ID:???
中学生の頃だったかC++でクラスとかライブラリを知った時
privateにしてもヘッダファイル読み込まなきゃ使えないじゃない?
ヘッダファイル読み込んだら、そこのprivateって書いてあるじゃない?
そのヘッダファイルのprivateをpublicにすればアクセスできるじゃない?
何も隠蔽できてないじゃない?って思ったことがあるんだよな


どうしてそう思ったかと言うと、当時はライブラリは
クローズドソースにして、他の人に使わせるものだと考えていたから
privateの隠蔽というのは、秘匿という意味だと思っちゃったんだよね

まあその勘違いはすぐに分かって、ああ秘匿するためじゃなくて
外から直接参照することは想定してないという意味なんだなって


なんでこの話をしたのかと言うと、これな

>>446
> 本当に上書き保護が必要なら
> 8年前からTypeScriptで書いてるだろうと

constは本当に上書き保護をしたいんじゃなくて
上書きしませんよという宣言だという話
後からコードを見た人のための説明なんだってこと

大文字は、上書きしない+グローバルに使うものという意味だから
大文字にするのは良くない
2020/05/29(金) 16:05:22.57ID:???
他人からこれだけ不自然だって批判されてるのに
後からコードを見た人の為になる!って主張できる根性は尊敬する
2020/05/29(金) 16:15:29.75ID:???
変態の拘りにはついて行けん
JS界は自由が特長だからマニアックなのは結構だが
口を開いて出てくる言葉が屁理屈ばっかりなのは呆れるな

それならまだ僕の拘りです
こっちの方が芸術的に感じるんです
と素直に主張する方が好感持たれるのにな
変態でプライドも高い奴はどうしょうもない
2020/05/29(金) 16:19:41.65ID:???
今使ってるコード中で再度変わらることがないからconstなのではないだろう
それがどういう値が考えたときにmutableな属性ならばletにすべき
2020/05/29(金) 16:50:06.45ID:???
ECMAScript2015には従えない!
と言う人が居るスレはここですか?
2020/05/29(金) 17:34:56.36ID:???
const/letを仕様に入れなければこんな論争は起きなかったんだよ
マウントの取り合いしてても見苦しいだけじゃん

JavaScript程度のプログラムなら変数の宣言はvarだけで十分
2020/05/29(金) 17:37:13.19ID:???
>>463
> 他人からこれだけ不自然だって批判されてるのに
その「他人」の多くは初心者でしょ?
2020/05/29(金) 17:38:05.51ID:???
いえ、技術力が高いという意味で有名な人が
不自然とかconst使うなって言っているなら別ですよ?
そんな人いますか?いませんよね?
技術力が高い人はconstを使いましょうって言ってるはずです。
2020/05/29(金) 17:39:04.30ID:???
>>465
> 今使ってるコード中で再度変わらることがないからconstなのではないだろう

そうだよ。この変数は一旦割り当てたら変えないようにしよう。だからconstにする。
こういう考えでコードを書くんだよ。

自分で新規のコード書いたことないの?
2020/05/29(金) 17:40:32.21ID:???
>>464
変数の再代入は避けるべきという
言語に依存しないベストプラクティスが存在するんだよ
芸術の話じゃなくてベストプラクティス
その実現方法がJavaScriptではconstというだけの話
2020/05/29(金) 17:47:38.23ID:???
>>467
> JavaScript程度のプログラムなら変数の宣言はvarだけで十分

何にも分かってない素人ワロタ
2020/05/29(金) 18:25:02.65ID:???
let isono_height = 1.65;
const fujisan_height = 3776;

重力や地殻変動や工事などの外的要因を除去する。
磯野は有機生命体でdynamic、富士山は無機質でstatic。
2020/05/29(金) 18:37:29.06ID:???
>>471
お前は天才だ!
もっと詳しく教えてくれ!
2020/05/29(金) 18:42:03.64ID:???
>>473
☓ const fujisan_height = 3776;
○ const fujisan_height = 3775;
2020/05/29(金) 18:52:38.98ID:???
>>474
天才の定義を詳しく
2020/05/29(金) 18:58:56.83ID:???
>>472
テストとかではvarが基本
Chromeのテストでも好まれてる
テストだと一時変数が多いから
それらの名前はどうしてもかぶりがち

だから何か機能を関数として用意するときは
その関数内では基本letが使われるけど
それ以外の場所では多重宣言が許されるvarが好まれてる

でもテストを色々見てると基本constで書かれたものもある
だけどそこにも上の理由でvarも沢山使われてる
つまりvar/constだけで書くのが好きな人もいる

面白いことに関数内だったとしても
letを中心で使う場合とconstを中心で使う場合でかき分けてる人もいる

つまりは、数行の単純な結果や演算を担当する関数は、
カチッカチッとしたパーツを組み合わせて個体のマシンを作る感覚でconstが好まれる
一方もうちょっと柔らかいイメージの機能としての関数内ではletが好まれる
上から一行一行さーっと実行していくような場面ではvarが好まれる

全体的にそういう傾向があるように感じる
同じ感覚でもここで争われてるような感覚とは違うっぽい
2020/05/29(金) 19:30:27.16ID:???
>>476
cho賢い
2020/05/29(金) 19:39:12.34ID:???
コンピュータ上で実行されている以上、変数内の値(メモリ上の信号)を書き換えようと思ったら、そんなことは実行中でもいくらでもできる。

既に沢山書かれているが、constというのは、「どういう手段を以ってしても値が絶対に書き換えられない」という不変性を約束するものではなく、開発(プログラミング)において、「この値を書き換える予定もなければ、その必要もない」という表明の形に他ならない。

短いコードならともかく、大規模な何百、何千行以上もあるようなコードの中に、唐突にvarやletの再代入可能な変数が広いスコープの中に現れたとき、それの値が変わることは意識せざるを得なくなる。

そういう(必要ないかもしれない無駄な)気苦労を減らすというだけでもconstの価値は大きい。
2020/05/29(金) 19:49:40.59ID:???
>>477
好みの問題なら「好きなように書け」で終わ他人を真似したいなら「尊敬する人を真似ろ」で終わり

そこに明確な論理はないが、あなたの中では、そういうことだろう
2020/05/29(金) 20:10:12.08ID:???
forEachの第3引数に操作中の配列が入ってくるけど、使い道どんなんあんの?
2020/05/29(金) 20:10:45.17ID:???
>既に沢山書かれているが、constというのは、「どういう手段を以ってしても値が絶対に書き換えられない」という不変性を約束するものではなく、
>開発(プログラミング)において、「この値を書き換える予定もなければ、その必要もない」という表明の形に他ならない。
誰が決めたんだ?
2020/05/29(金) 20:27:09.76ID:???
>>477
> テストとかではvarが基本

それは誰が言ってますか?
あなたの思い込みですか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況