TypeScript part4 (396レス)
1-

135: 2022/03/18(金)11:57 ID:0waQ0EIw(1) AAS
excludeしろ
136: 2022/03/27(日)17:58 ID:LHErTm2E(1) AAS
TSはもしかして例外あんまり使わないんですか?
137
(3): 2022/03/30(水)14:38 ID:rdfA8RBv(1) AAS
みなさんどういう単位でファイル分割されてますか?
1ファイル1クラスのphpと違って自由だから逆に迷ってしまいます
ベストプラクティスないかググっても見つからず…
138: 2022/03/30(水)14:47 ID:/h0/v+Yd(1) AAS
どうでもいいので好きにすればいい
そもそもスクリプト言語ではそんなガチガチにこだわらないほうがいい
スクリプトは雑で汚くてもいいから小さいシステムをサクッと作るための道具だから
139: 2022/03/30(水)15:27 ID:w/wOADHo(1) AAS
>>137
教科書的な正解が欲しいならGitHubでTypeScriptコンパイラかVSCodeのソースを見ればいい
機械的な基準ではなく、意味のある単位で適当に分けていることがわかる
身も蓋もないことを言えば、十分に頭の良い人間の裁量でケースバイケースで判断するのがベストだ
140: 2022/03/30(水)15:33 ID:iu76Nwkv(1) AAS
>>137
普通にクラス単位で分けるし、型(関心事)とその周辺関数郡で分割するかな。あとは1ファイルをなるべく小さく保つ。改修で膨らむ可能性があるから。
個人的には1ファイル250行超えたら危機感持つ。
141: 2022/04/18(月)21:22 ID:rznbXz+G(1) AAS
>>137
なるべくファイル数は少なく保つ
微塵切りの千切りファイルで見通しを悪くしてはいけない
classは使わない
十分に小さく参照等価なfunctionを組み合わせる
どうせ改修で膨らむほど使われないから。
個人的には1ファイル250行未満なら危機感持つ。
142: 2022/04/22(金)12:41 ID:egxvakGA(1) AAS
初心者です
serverlessってフレームワークを使ってるんだけど、規模小さいコードなのにビルド始めるとesbuildが16Gメモリ使って完了までくっそ時間かかる
業務用のソースだから晒せないんだけど、一般論的に言ってこの最適化オプションはハマりやすいので注意、みたいなのってあります?
143: 2022/04/22(金)15:45 ID:rFOQ0LJz(1) AAS
ここよりフロントエンドのフレームワークのスレで聞いたほうが良いと思うな
144: 2022/04/26(火)21:25 ID:1qeD7Yad(1/2) AAS
JSファミリーの仕様のごちゃごちゃ加減が酷い
なんでこれが流行ったんだ
145: 2022/04/26(火)21:27 ID:1qeD7Yad(2/2) AAS
他の言語が取って変わろうとするたびに、
javascript側の仕様更新による延命がうまくいったせいで、
ごちゃごちゃな歴史を引きずったまま、いまでもゾンビのように君臨してるパターンか
フロントのフレームワーク、JS一択なのが酷い
146: 2022/04/26(火)21:37 ID:QNVEk81Z(1/2) AAS
ブラウザがまともにサポートしてるのがそれだけだったから仕方がない
もし最初に軌道に乗ったブラウザスクリプトがVBだったら今頃VBが流行ってたよ
147: 2022/04/26(火)22:16 ID:/B/eiBVl(1) AAS
ありえんわ
勘違いもはなばなしい
なんだかんだ(古い文法を除けば)JS/TSの文法はプログラミング正統派として読みやすい
だから未だに使われ続けている
148: 2022/04/26(火)22:16 ID:QNVEk81Z(2/2) AAS
と思いたいんだね
149: 2022/04/26(火)22:23 ID:DyWQhYeY(1) AAS
実に華々しい勘違いですね
150: 2022/04/27(水)09:19 ID:+qhhkVcT(1/2) AAS
いや、鼻々しい勘違いでいた
151: 2022/04/27(水)09:21 ID:+qhhkVcT(2/2) AAS
でも、TS様のおかげでJSの酷さがかなり軽減されていると思る
勿論、TSスレだから媚びを売ってるだけだ
152: 2022/04/27(水)20:19 ID:WzmT7FsB(1) AAS
interfaceのほうがコードきれいになるな
typeは便利だが良くない発明だ
153: 2022/04/28(木)21:43 ID:oBwwA7sc(1) AAS
interfaceできれいになるような糞コード書いてるのが問題なのでわ?
154: 2022/04/28(木)21:53 ID:kbziWRDf(1) AAS
クソコードって|とか&使ってる馬鹿なコード
unionって今どきC言語かよ
155: 2022/04/29(金)05:07 ID:9Pfdk6R3(1) AAS
まあC++使えない奴は、大抵何させてもたいしたこと無いけどなw
156: 2022/04/29(金)05:15 ID:bza0ag8S(1) AAS
う、うん…(´・ω・`)
157: 2022/04/29(金)05:37 ID:a7FB1YkL(1) AAS
ヨシ!
158: 2022/04/29(金)05:57 ID:fa9VGnxG(1) AAS
このスレやべーやつ住んでるな。ワッチョイつけなかったからこんなもんか
159: 2022/04/29(金)08:07 ID:nnpkzAOE(1) AAS
次世代言語スレから何か流れてきてるだろ
160: 2022/04/30(土)02:13 ID:u1byxZ8b(1) AAS
C++を使うにはCの知識も当然必要だがな
161: 2022/04/30(土)11:22 ID:Jfyr/cmt(1) AAS
オーバーロードがもうちょいマシだったらなと思う
162: 2022/05/10(火)11:41 ID:fIyMb/gO(1) AAS
AA省
163: 2022/05/30(月)21:44 ID:URC3D+jY(1) AAS
バカが書いたTypeScriptってマジで糞だな
って思ったけどJavaScriptだったらもっと糞になってたんだよなって思って心の平静保ってる
164: 2022/05/30(月)21:47 ID:arvcbcVn(1) AAS
それ言ったら賢い奴が書いたらCでも何も問題ないんだが
言語が縛ってるのは所詮馬鹿対策でしかない
165
(4): 2022/06/29(水)20:00 ID:NKfPTkof(1) AAS
質問です。

type t = (a: string) => string;
const f: t = (a) => false;
console.log(f('x'));

で false のところで、
Type 'boolean' is not assignable to type 'string'.ts(2322)
になりますが、
省17
166: 2022/06/30(木)01:29 ID:9mtgPMTA(1) AAS
>>165
普通はfの型をtにしないと思うのだが、どういう意図があるの?
167: 2022/06/30(木)07:51 ID:dQhuKSOV(1) AAS
>>165
>のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか?
型定義を後付けで変更できたらいろんな前提がひっくり返る気が
そんなことが必要な状況が想像できないけどコードの臭いがプンプンする
168: 2022/06/30(木)09:29 ID:Rcw/gVlt(1/2) AAS
ライブラリの型が間違ってるとか?
質問あるあるだが、抽象化も大事だが、具体的な状況も書き添えると回答してもらいやすくなると思うよ
そもそもの質問がずれてるとかもあるからね
169: 2022/06/30(木)11:29 ID:Argu0lpR(1/2) AAS
>>165
です。ありがとうございます。
実際のケースでお話しします。
・ライブラリの型を利用している。
・ライブラリの実装をそのまま真似ている。(実装は変えられる。)
・anyは使わない方針。
の状況です。
省23
170: 2022/06/30(木)12:31 ID:Rcw/gVlt(2/2) AAS
5chだと読みづらいからts playgroundなりcode sandboxなりに書いて欲しい
171: 2022/06/30(木)12:53 ID:Argu0lpR(2/2) AAS
>>165 です。
すみません。かなり省略して、改行も削除しました。
伝えたかったのは、以下です。
外部リンク:tsplay.dev
172: 2022/08/26(金)00:55 ID:z3bi9+6P(1) AAS
Recordとmapped typesの使い分け方が分かりません
Record<Key, Value>と{ [key: Key]: Value }ってinterchangeableな気がするんですが、
どっちかにしかできないことがあったりするんですか?
173
(1): 2022/08/26(金)08:07 ID:cPJ/q77Z(1) AAS
mapped の方が柔軟

type X = { age: number, name: string }

これは Record では定義できないだろう
174
(1): 2022/08/26(金)08:46 ID:yW+yR6PJ(1/2) AAS
Recordはキーがいくつかの既知の値のみに限られる場合に使う
{ [key: Key]: Value }だとキーが何でも入っちゃうでしょ
175: 174 2022/08/26(金)10:07 ID:yW+yR6PJ(2/2) AAS
限られるというより、必ず既知のキーを持っていることが保証されるというべきか
record.knownKey のような既知のキーによるアクセスがタイプセーフになり、コード補完も効く
176: 2022/08/26(金)10:18 ID:XmC41P2C(1) AAS
微妙にインデックス型とmapped typeがごっちゃになってて話をややこしくしてる気がする
177: 2022/08/26(金)22:54 ID:wGXHgoK/(1) AAS
>>173
それはただのオブジェクト型だと思うが
178
(1): .NET MAUI HighScool 2022/11/03(木)11:06 ID:P57hKE9o(1/2) AAS
もしかしてTypeScriptってC#で良いのでは?
静的型付け言語だしオブジェクト指向だし作った人も一緒
179: 2022/11/03(木)11:18 ID:/OhXuECX(1) AAS
C#でいいならわざわざ同じ人が新言語作らないだろ
ヘルスバーグはMS内では神みたいな扱いらしいから、自分で意味ないと思ってる仕事なんかやらないよ
180
(1): 2022/11/03(木)11:27 ID:BN1z7WMM(1) AAS
TypeScriptが解決してる問題をC#が全て解決出来るか考えてみれば?
181: .NET MAUI HighScool 2022/11/03(木)11:38 ID:P57hKE9o(2/2) AAS
>>180
できてるじゃん
182
(1): 2022/11/03(木)12:08 ID:S9tMl46F(1/2) AAS
or型というのかunion型というのか忘れたけど、C#にはなくない?
type a = b | c

(C#にもこの機能欲しい)
183
(1): 2022/11/03(木)12:23 ID:d31vVPfb(1/4) AAS
JavaScriptに静的型付けの恩恵を与えるために作られたのがTypeScript
C#でそれは出来ないでしょ
184: .NET MAUI HighScool 2022/11/03(木)12:26 ID:Kj7ywx2W(1/2) AAS
>>183
C#が静的型付けじゃん
185
(1): 2022/11/03(木)12:29 ID:d31vVPfb(2/4) AAS
C#ではJavaScriptに静的型付けの恩恵を与えられないでしょ
186
(1): .NET MAUI HighScool 2022/11/03(木)12:39 ID:Kj7ywx2W(2/2) AAS
>>185
なんで?
187
(1): 2022/11/03(木)12:47 ID:d31vVPfb(3/4) AAS
>>186
君はC#がJavaScriptに静的型付けの恩恵を与えられると思ってるの?
188: 2022/11/03(木)12:57 ID:t+iDkaHi(1) AAS
>>182
これについてはTypeScriptが便利というよりは、JSのやり方に合わせるために必要となっているものだと思う
C#では型が条件によってコロコロ変わるような設計は普通しないから、nullabilityさえ指定できれば多くの場合十分
189
(1): .NET MAUI HighScool 2022/11/03(木)13:04 ID:fiCeisHS(1) AAS
>>187
いや別にJavaScript使う必要なくね?
190: 2022/11/03(木)13:12 ID:d31vVPfb(4/4) AAS
>>189
それは論点のすり替えでしょ
191
(1): 2022/11/03(木)14:21 ID:M3w0A0V3(1/2) AAS
代数的データ型は静的型付け言語にもあるよ。
最近のC#でも出来るけど記述量が多い。F#なら比較的楽に書けるけど。
192
(1): 2022/11/03(木)15:50 ID:BAhN8xRm(1/2) AAS
typescriptが実行時型安全まで保証してくれたらもう他の言語いらんのよな
REST APIというかJSONとの相性もマックスバリューだし
世にはびこっている型なし糞言語を全て地獄に葬り去ってほしい
193
(1): 2022/11/03(木)16:11 ID:cSIPlVD9(1) AAS
>>191
union typesは静的型において一般的な直和型とはかなり違ってて癖が強い
値が型持ってないからね
194: 2022/11/03(木)16:27 ID:M3w0A0V3(2/2) AAS
>>193
まあそれはそうか。型ガードベースだもんね。
別に型が一致してなかったとしてもメンバさえ合ってれば雑代入しても問題ないし。
195
(1): 2022/11/03(木)18:23 ID:zVDUtzQU(1/3) AAS
>>192
型をバリデーションライブラリから生成すると捗るよ
196
(1): 2022/11/03(木)20:49 ID:BAhN8xRm(2/2) AAS
>>195
おっ zodmanか?
197
(1): 2022/11/03(木)20:56 ID:tn2ZhR3p(1/3) AAS
interface/classからjsonschemaを生成して、それを型ガード関数で使うってのが鉄板。
198: 2022/11/03(木)21:05 ID:zVDUtzQU(2/3) AAS
>>196
すまねぇsuperstructなんだ。すまねぇ。

>>197
AJVはコードサイズデカくね?
199
(1): 2022/11/03(木)21:36 ID:tn2ZhR3p(2/3) AAS
コードサイズは気にしたことがないがスキーマ手書きは面倒臭いからやだなあ。
200: 2022/11/03(木)22:05 ID:S9tMl46F(2/2) AAS
RestAPIの型チェックはio-tsっていうライブラリつかってバリデーションしてるな。
実行時コストがあるけど、自分は業務アプリがメインなんで変な結果で次に進まない方が大事。
201: 2022/11/03(木)22:38 ID:zVDUtzQU(3/3) AAS
>>199
ZodとかSuperstructとかはtypeで型書くのとほぼ同じくらいの手間でバリデーションと型が生成されるからすげー楽だよ。
202: 2022/11/03(木)22:52 ID:tn2ZhR3p(3/3) AAS
うーん、俺はやっぱりTypescriptで書いた型そのまま使える方が楽だわ。
203: 2022/11/04(金)15:37 ID:NHN4pq/h(1) AAS
HighScool君は納得して帰ったのか
204: 2022/11/04(金)23:24 ID:/YFZG+0u(1) AAS
superstruct と zod ならどっちがええのんか?
205: .NET MAUI HighSchool 2022/12/16(金)16:55 ID:3qj0lL1U(1/2) AAS
C#だとvar型でも何ら問題無いと思われてるのにTypeScriptのanyはなんでTwitterでネタにされるんでしょうか?
私もあまりvar型使いませんが公式とかvar型使いまくってるしTypeScriptでany使っても何ら問題なさそうなのですが…
206
(1): 2022/12/16(金)17:30 ID:p0Ky0qXF(1) AAS
コーディング時にvarは右辺で型が決まるけどanyは決まらないからかな
207: .NET MAUI HighSchool 2022/12/16(金)18:26 ID:3qj0lL1U(2/2) AAS
>>206
決まらないんですか?
ではvar型ではなくdynamic型と言うことなのですかね
208
(1): 2022/12/16(金)21:33 ID:AqSpfMIV(1) AAS
そもそもvarは正確には型じゃないだろ
209: 2022/12/16(金)21:58 ID:V2l7/OO4(1) AAS
var型はないな

型の堅牢性などを享受するためにTypeScriptを使用しているはずなのに、anyを持ち出せばそれが途端に失われるから絶対に使わない方がいい
そして確かにanyはdynamicに近いものと考えて良い
210
(1): 2022/12/16(金)22:10 ID:Hm0gKYO4(1) AAS
TypeScriptに対する理解が浅いのはともかくC#の理解もそんな程度だったのかこのコテ
211
(1): .NET MAUI HighSchool 2022/12/17(土)00:18 ID:WFRGIGZB(1/8) AAS
>>208
型推論型だろ
>>210
何いってんだこいつ?
212
(2): .NET MAUI HighSchool 2022/12/17(土)00:22 ID:WFRGIGZB(2/8) AAS
dynamic型は次の値を入れたらその型に変わる
例えば
dynamic x="おはよう"
dynamic x=123
でも大丈夫なわけ
anyは型の再代入ができないって見たけど?これdynamic型なの?
213
(1): 2022/12/17(土)00:38 ID:1fKT+2Wj(1) AAS
>>178程度の理解のヤツに何を説明しても無駄よ
214: 2022/12/17(土)00:50 ID:/cYfBcZ5(1/2) AAS
>>212
流石にこれは触っちゃいけないレベル
215: 2022/12/17(土)00:55 ID:Q7rx/k0e(1/2) AAS
anyはまさにJavaScriptの元々の変数の扱い様そのもの。
1-
あと 181 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s