[過去ログ] ふらっと C#,C♯,C#(初心者用) Part153 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
350(2): デフォルトの名無しさん (テテンテンテン MM26-8VTm) [sage] 2022/01/04(火) 13:23:06.07 ID:b15zgk0OM(1/2) AAS
>>349349(2): デフォルトの名無しさん (ワッチョイ 2eb0-IeG5) [sage] 2022/01/04(火) 12:53:18.36 ID:rkCZbU1/0(1/4) AAS
・間違ったコールバックの型付け
・間違ったasの使用
・間違った.d.tsの使用
・間違ったユーザー定義タイプガード
TypeScriptで肩を間違える可能性があるのはこんなところかね。
まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、
他人も同じように使いこなせないわけじゃないしな。
間違える余地が在ることが問題
特定の個人が使いこなせるこなせないという低次元な議論じゃない
型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
その検証のために心労とコストが増えて
そして実際にバグが増える
C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない
C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく
DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない
しかしTypeScriptは違う
型は平気で嘘をつく
Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ
TypeScriptでは型が嘘をついていないことを確かめるには
その型が嘘をついている可能性があるという前提でバリデーションを追加するか
依存してるライブラリの内部の隅々までソースを追いかけるか
そういった対策をしなければならない
それはあまりにも非生産的だ
356(1): デフォルトの名無しさん (アウアウウー Saa5-FJ/U) [sage] 2022/01/04(火) 16:14:54.64 ID:3sRZKpnOa(1) AAS
>>350
そうは言ってもc#だってobjectや継承あるからな・・・
357(1): デフォルトの名無しさん (テテンテンテン MM26-rbeQ) [sage] 2022/01/04(火) 17:04:00.85 ID:BWSRqAyGM(1) AAS
>>350
ネイティブ呼び始めたら嫌でもチェックせんか?
タグ付きユニオンとか使い始めたらどうせそうなるし。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s