- 1 名前:デフォルトの名無しさん [2021/12/30(木) 22:57:02.78 ID:XEA11GKy.net]
- www.typescriptlang.org/
JavaScript that scales. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source. part1 https://peace.5ch.net/test/read.cgi/tech/1349187527/ part2 https://mevius.5ch.net/test/read.cgi/tech/1430386649/ part3 https://mevius.5ch.net/test/read.cgi/tech/1524746903/
- 202 名前:デフォルトの名無しさん mailto:sage [2022/11/03(木) 22:52:51.54 ID:tn2ZhR3p.net]
- うーん、俺はやっぱりTypescriptで書いた型そのまま使える方が楽だわ。
- 203 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 15:37:16.21 ID:NHN4pq/h.net]
- HighScool君は納得して帰ったのか
- 204 名前:デフォルトの名無しさん mailto:sage [2022/11/04(金) 23:24:08.39 ID:/YFZG+0u.net]
- superstruct と zod ならどっちがええのんか?
- 205 名前:.NET MAUI HighSchool [2022/12/16(金) 16:55:41.78 ID:3qj0lL1U.net]
- C#だとvar型でも何ら問題無いと思われてるのにTypeScriptのanyはなんでTwitterでネタにされるんでしょうか?
私もあまりvar型使いませんが公式とかvar型使いまくってるしTypeScriptでany使っても何ら問題なさそうなのですが…
- 206 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 17:30:57.27 ID:p0Ky0qXF.net]
- コーディング時にvarは右辺で型が決まるけどanyは決まらないからかな
- 207 名前:.NET MAUI HighSchool [2022/12/16(金) 18:26:46.45 ID:3qj0lL1U.net]
- >>206
決まらないんですか? ではvar型ではなくdynamic型と言うことなのですかね
- 208 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 21:33:55.14 ID:AqSpfMIV.net]
- そもそもvarは正確には型じゃないだろ
- 209 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 21:58:06.83 ID:V2l7/OO4.net]
- var型はないな
型の堅牢性などを享受するためにTypeScriptを使用しているはずなのに、anyを持ち出せばそれが途端に失われるから絶対に使わない方がいい そして確かにanyはdynamicに近いものと考えて良い
- 210 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 22:10:24.90 ID:Hm0gKYO4.net]
- TypeScriptに対する理解が浅いのはともかくC#の理解もそんな程度だったのかこのコテ
- 211 名前:.NET MAUI HighSchool [2022/12/17(土) 00:18:30.36 ID:WFRGIGZB.net]
- >>208
型推論型だろ >>210 何いってんだこいつ?
- 212 名前:.NET MAUI HighSchool [2022/12/17(土) 00:22:25.11 ID:WFRGIGZB.net]
- dynamic型は次の値を入れたらその型に変わる
例えば dynamic x="おはよう" dynamic x=123 でも大丈夫なわけ anyは型の再代入ができないって見たけど?これdynamic型なの?
- 213 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 00:38:58.67 ID:1fKT+2Wj.net]
- >>178程度の理解のヤツに何を説明しても無駄よ
- 214 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 00:50:14.95 ID:/cYfBcZ5.net]
- >>212
流石にこれは触っちゃいけないレベル
- 215 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 00:55:05.65 ID:Q7rx/k0e.net]
- anyはまさにJavaScriptの元々の変数の扱い様そのもの。
- 216 名前:.NET MAUI HighSchool [2022/12/17(土) 01:46:39.51 ID:WFRGIGZB.net]
- >>213
TypeScriptはC#以下だったってわけか 理解
- 217 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 01:54:57.82 ID:Q7rx/k0e.net]
- 目的が違うんだよ。C#ではTypeScriptのようなことは出来ない。
良い意味でも悪い意味でもJavaScriptのスーパーセットかつトランスパイラである必要があるんだから。 ただTypeScriptが将来C#でやってることを概ね肩代わりすることは可能だったりはするんだけどね.netライブラリをそのまま動かすように改変していくことも障害は少ない。
- 218 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 02:13:01.40 ID:dtBkzR03.net]
- そいつにかまうなよ
あちこちの言語やフレームワークスレに乗り込んでは意味不明な喧嘩売って C#マンセーMAUIマンセーしてるだけの荒らし
- 219 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 03:00:17.54 ID:7f5jCiop.net]
- 再代入と型は関係ないだろ
見た感じC#も満足に使えてないじゃん
- 220 名前:.NET MAUI HighSchool [2022/12/17(土) 04:20:14.04 ID:WFRGIGZB.net]
- >>219
どこが? dynamic型知ってる?
- 221 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 08:49:17.76 ID:J7I3yK2m.net]
- >>211
まぁ初心者なら便宜的に型だって覚えときゃいいよ >>212 型の再代入って何? 値の再代入とは違うの?
- 222 名前:.NET MAUI HighSchool [2022/12/17(土) 11:38:05.95 ID:WFRGIGZB.net]
- >>221
値は型があってたら普通は再代入はできる ただ型があってなかったらできない dynamic型は型があってなくても再代入できる
- 223 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 12:01:06.61 ID:d07Wp+U/.net]
- >>222
それをC#では型の再代入って呼ぶの? TypeScriptでは変数をletで宣言すれば値を再代入できる 変数がany型ならどんな型の値でも代入できる 変数をconstで宣言すれば型が同じであろうと再代入できない >>219の言ってるのはそういうこと
- 224 名前:.NET MAUI HighSchool [2022/12/17(土) 12:25:09.54 ID:EKmrQGNL.net]
- >>223
そういう決まった名前無いけどdynamic型は型を変えれるからそう言ってる
- 225 名前:.NET MAUI HighSchool [2022/12/17(土) 12:25:55.57 ID:EKmrQGNL.net]
- つまりletがvarでanyがdynamicってことか
- 226 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 12:32:09.45 ID:AZCBrKeq.net]
- ここでもバカ晒してるのかよw
- 227 名前:.NET MAUI HighSchool [2022/12/17(土) 12:38:11.73 ID:WFRGIGZB.net]
- >>226
何いってんだこいつ?
- 228 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 12:56:35.19 ID:d07Wp+U/.net]
- >>225
説明の仕方が悪かったか C#の dynamic x = "abc"; x = 123; //OK に相当するのは let x:any = "abc"; x = 123; //OK var y = "abc"; y = "def"; //OK y = 123; //NG に相当するのは let y = "abc" y = "def"; //OK y = 123; //NG 変数の型を推論に任せるときは型指定を省略する
- 229 名前:.NET MAUI HighSchool [2022/12/17(土) 14:07:48.19 ID:WFRGIGZB.net]
- >>228
なるほど理解したサンクス
- 230 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 18:19:24.77 ID:EAGB3+7T.net]
- なんでぽまいらはC#の話をしているんだ?
- 231 名前:.NET MAUI HighSchool [2022/12/17(土) 18:58:14.82 ID:WFRGIGZB.net]
- anyはネタにされるけどvarはネタにされないなと思ってさ
まぁ勘違いだったんだけどね
- 232 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 19:14:45.81 ID:ETb1szGB.net]
- なぜanyがネタにされたり忌み嫌われたりするのかはその機能だけ見ても分からんだろうね
言語特有の背景を理解してこそ https://qiita.com/uhyo/items/aae57ba0734e36ee846a
- 233 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 20:38:09.95 ID:/cYfBcZ5.net]
- any無しはJSONの扱いが面倒臭過ぎるんだよなあ
必要に応じて型のランタイムチェックを入れてキャストできる機能さえあれば格段に便利になるんだが
- 234 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 20:55:50.21 ID:AZCBrKeq.net]
- ユーザー定義型ガードで足りると思うが
- 235 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 14:23:05.41 ID:FWjNfdlT.net]
- JSONだろうがanyを許すな。Zodとか使うのだ
- 236 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 23:40:24.66 ID:x7llhSa6Z]
- 第一引数の型によって戻り値の型を決定できる書き方ないですか?
このようなストアがあって type Store = { items: Items players: Player[] }
このようなゲッターを定義して load(key: keyof Store): Store[keyof Store] { const store = this.getStore() return store[key] }
このように利用しようとしたらPlayery[]がItemsではないと言われてしまい。 (ですよね) const items: Items = load('items')
ジェネリクスにしたところで<>に指定できず。
- 237 名前:デフォルトの名無しさん [2023/01/03(火) 23:03:14.80 ID:6VbKu+1R.net]
- pythonを書いていると型縛りが馬鹿らしくなる
- 238 名前:デフォルトの名無しさん mailto:sage [2023/01/03(火) 23:51:28.97 ID:FIKRmyvH.net]
- JavaScriptを書いていると型縛りが馬鹿らしくなる
みんながそう思ってたらTypeScriptは生まれてこなかっただろうね
- 239 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 00:03:33.25 ID:eKtKRLft.net]
- 型なんて要らねーとか言ってるのは、ほぼ1人でコーディングしてる奴
まぁ、実際1人でなら要らないかも知れない これが複数人でコーディングする事になると、他人が実装した関数にどんなデータを渡していいか全然分からない その為にTypeScriptがある
- 240 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 00:08:02.09 ID:PCFpglko.net]
- 型がない方が縛りプレイだろ
- 241 名前:デフォルトの名無しさん [2023/01/04(水) 00:44:19.33 ID:B1scSs4x.net]
- JavaScriptは引数の数すらチェックされない上に暗黙の変換にundefined/null/NaNと昔はブロックスコープもなくてバグの温床てんこ盛りだったからやろ
intとかStringとかのベーシックな型を書きまくつてるコードを見ると欠陥言語だなと思う
- 242 名前:デフォルトの名無しさん [2023/01/04(水) 09:28:28.37 ID:77WW46pZ.net]
- >>240
縛り方を間違うと死ぬからな
- 243 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 10:15:30.84 ID:y9fxcgcU.net]
- Flow「…」
- 244 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 11:23:06.77 ID:PU4coe7B.net]
- パラメタ名・変数名で型がわかるようにしとけば大概は済む
引数の個数をテキトウに呼ぶ奴がいたら、それはそんな作り方する方がおかしい
- 245 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 11:53:32.34 ID:+W5BVHVt.net]
- そういう開発者にのしかかる煩わしさを軽減するのが型の役目だろうに
- 246 名前:デフォルトの名無しさん [2023/01/04(水) 16:13:02.47 ID:s5vEki4C.net]
- コーディングルールの運用で型限定するのも
コンパイラにまかせて型限定するのも 少なくとも js に限って言えば前者の方が手間は少ない
- 247 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 16:35:42.97 ID:WgdCy7ph.net]
- 本気で言ってるのか・・・?
- 248 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 16:38:46.50 ID:oLi3mo91.net]
- >パラメタ名・変数名で型がわかるようにしとけば大概は済む
よく事故るのは受け渡すオブジェクトのメンバーの有無だったりするけどそれには無力だな。
- 249 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 16:48:19.89 ID:PU4coe7B.net]
- 大概、おおむねって話よ
よほど便利だろうから、こういう言語が生れたのだろうし全否定するわけではない あと、処理系が変数の型を把握できても、しかるべき名前でないと、開発者に分かりにくい場合がある 自作でもこれなんだっけ?紛らわしいなって、結局名前弄ったり、名前って大事
- 250 名前:デフォルトの名無しさん [2023/01/04(水) 16:56:26.80 ID:+smwzq4n.net]
- 型付けはあった方が良いけど、肝心の成果物がしょーもないことは多々あるな
最近まで参画していたアプリはすげー健康なブスだった
- 251 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 17:01:25.31 ID:WgdCy7ph.net]
- 開発途中で型の変更が必要になったとき安全に漏れなく修正できるメリットとかは無視できないんだけど
今までそういう経験がなかったんだろうか
- 252 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 17:46:37.74 ID:JvBm8lal.net]
- そういうのはどのみち影響しそうな箇所を全部見て確認しなきゃいけないから、値に型があることはそれほど重要じゃないと思う
それよりも代入により生じる依存関係を静的に追跡可能であることが重要で、その点では型があることで飛躍的に静的解析の精度が上がる ただ、そのためには静的解析しやすい作りになっていることが大前提だ 動的型畑の人って概してオブジェクトと連想配列の区別が曖昧で、静的型に馴染んだ人からすると信じられないような型安全もクソもないコード書くからな それを根本的に改めないなら型なんて大して役に立たん
- 253 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 18:22:26.69 ID:thANRos2.net]
- >そういうのはどのみち影響しそうな箇所を全部見て確認しなきゃいけないから、値に型があることはそれほど重要じゃないと思う
その影響しそうな箇所の把握に型があるのとないのでは大きく正確性や効率に差が出てくるでしょって話
- 254 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 22:43:59.04 ID:PCFpglko.net]
- まぁRubyやPHP出身の低能にそもそも型書かせるのが難しいという意見には同意
根本的に教養・学が足りないから、どうしようもない もはや言語仕様で救えないレベルの話である
- 255 名前:デフォルトの名無しさん mailto:sage [2023/01/04(水) 22:52:50.06 ID:492NQUrQ.net]
- 動的型畑の奴が一概にバカとは思わないが、オブジェクトの全プロパティ舐めて値を書き換えたりするコードが突如出現したりして面食らう
根本的に思考回路が我々とは違うのだなと感じる
- 256 名前:デフォルトの名無しさん [2023/01/04(水) 23:21:22.18 ID:+smwzq4n.net]
- クスクス
- 257 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 10:41:34.55 ID:Cbg+aaE9.net]
- >241
>暗黙の変換 これが諸悪の根源
- 258 名前:デフォルトの名無しさん [2023/01/05(木) 21:34:07.80 ID:OE/QT1xu.net]
- JavaScriptは信用できない、JavaScriptは危険。
だからJavaScriptを撲滅しようとした時代があったんだよな。 JavaScriptそのものは書くものではなくて、使うものに変化した。
- 259 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 22:57:13.13 ID:ySLiYJwl.net]
- JSを半端に知ってるやつこそそう言うけど、地雷がたくさん埋まってる以外は悪い言語じゃない。TypeScriptも今となっては薄いラッパーに過ぎないし
- 260 名前:デフォルトの名無しさん mailto:sage [2023/01/05(木) 23:01:32.86 ID:+/A/RNe/.net]
- 何作るかによるな
んで、Typescriptでしょーもないもの作ってる奴はかなり多い
- 261 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 00:04:22.96 ID:B+7qMiMZ.net]
- 動的型付けでしょーもないもの作ってる奴の方が圧倒的に多い事実
- 262 名前:デフォルトの名無しさん [2023/01/06(金) 16:55:41.96 ID:YIB2cDqh.net]
- jsもperlも卒業しろよ
- 263 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 02:08:56.86 ID:cY6/G25e.net]
- TSも卒業してrust書け
- 264 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 14:15:02.15 ID:8dRqY2Xm.net]
- ビルドが遅いからヤダ
- 265 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 13:12:52.48 ID:JJCniKqD.net]
- ( )y-~~ ( >)y-~~( >-)y-~~( >-< )y-~~ ウマスギル・・
- 266 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 18:54:27.47 ID:oOpYqea1.net]
- 男卒業してTSしろ
- 267 名前:デフォルトの名無しさん [2023/03/12(日) 13:16:33.47 ID:s6IZ9iua.net]
- return this.#instance!;
https://github.com/denoland/showcase_chat/blob/970c56fbb229f00805c0f3b0adde6f4232446a3e/helpers/loader.ts#L36 ! って何なんや?
- 268 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 13:55:58.57 ID:BMIpSqUT.net]
- nullとかundefinedじゃねーよって意味
- 269 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 21:52:14.15 ID:mg++gyQG.net]
- undefinedっていらなくない?
全部nullと同等にしてほしいわ
- 270 名前:デフォルトの名無しさん [2023/03/12(日) 23:18:21.71 ID:s6IZ9iua.net]
- >>268
助かった 記号はググりずらくて困ってたわ
- 271 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 23:38:13.62 ID:MrtVVZC+.net]
- >>270
次また困ったら解読アシスタントに貼り付けるといいよ https://typescriptbook.jp/code-reading-assistant#eJzT11d43DgZjFa_WL74xaq1jxtnPm7qfty0-XHznsfNnY-bJj1tXfq0a_bjxumPG5c9bux_3LjgcePUx40tXEWpJaVFeQolGZnFesqZecUliXnJqYrWAJnzL3Q
- 272 名前:デフォルトの名無しさん [2023/07/30(日) 19:53:15.24 ID:dgsp3YJD.net]
- しーん
- 273 名前:デフォルトの名無しさん mailto:sage [2023/09/26(火) 00:05:26.71 ID:AayxzQ1y.net]
- しーん2
- 274 名前:デフォルトの名無しさん mailto:sage [2023/10/08(日) 11:41:26.71 ID:apfSCKMz.net]
- しーん3
- 275 名前:デフォルトの名無しさん [2023/11/11(土) 14:20:03.22 ID:Sje4N6L2.net]
- TypeScript が作られた由来に関連しての事ですが
JavaScript と CSSは 直感的ではなく地雷陥穽満載の言語だと思い 苦痛を感じているのですが Web開発が根本的にもっと簡単に楽になる事は 近い将来ありえますでしょうか。 ブラウザ自体とDOM操作が JavaScriptでしか実行できない事は 永遠に続くのでしょうか。
- 276 名前:デフォルトの名無しさん mailto:sage [2023/11/11(土) 15:40:50.74 ID:GVZLIDCW.net]
- あなたの信仰しだいです。
- 277 名前:デフォルトの名無しさん mailto:sage [2023/11/18(土) 08:35:06.80 ID:CqCGVMdq.net]
- >>275
WebAssembly
- 278 名前:デフォルトの名無しさん mailto:sage [2023/11/18(土) 23:58:12.41 ID:4VZDo/pg.net]
- strictNullChecksを有効にするとこのコードがエラーになる
const foo: { bar: string } | null = { bar: 'bar' }; if (false) if (foo !== null) console.log(foo.bar); // error TS18047: 'foo' is possibly 'null'. falseを!trueに変えるとエラーにならない if (!true) if (foo !== null) console.log(foo.bar); どういうこっちゃ
- 279 名前:デフォルトの名無しさん [2023/11/19(日) 01:01:24.80 ID:6eSmn67d.net]
- >>0277 以前から未解決の課題です
ttps://github.com/microsoft/TypeScript/issues/26914
- 280 名前:デフォルトの名無しさん mailto:sage [2023/11/19(日) 01:58:05.77 ID:b+haLRoI.net]
- >>279
ほんとだ・・・到達できないコードでは文脈を無視してタイプチェックするのか・・・ const foo: string | null = 'foo'; // return; // throw new Error(); console.log(foo.charAt(0)); // error TS18047: 'foo' is possibly 'null'. returnかthrowのコメントを外すとエラーになる if (foo !== null)を追加してもエラーは回避できない
- 281 名前:デフォルトの名無しさん mailto:sage [2023/11/19(日) 11:55:13.54 ID:dTiD0l2A.net]
- 興味深い挙動だね
https://i.imgur.com/ZxUFyxD.png そもそも到達不能コードがあること自体が問題なわけでこれがエラーになっても実害はないだろうけど returnやthrowを仮置きしたいときにエラーを出したくないなら if (!!true) return; if (!!true) throw new Error(); とかするのがいいのかねぇ
- 282 名前:デフォルトの名無しさん [2023/12/25(月) 19:47:27.10 ID:/uFZ/UI7.net]
- 最近はフレームワークが全部準備してくれるから書き心地の良さだけを享受できてたけど
久々に自分でゼロから環境作ろうとすると設定の混沌っぷりに絶望するな たぶんハローワールドするまでの作業が一番苦しいのはTypeScriptだと思う
- 283 名前:デフォルトの名無しさん mailto:sage [2023/12/26(火) 14:57:07.76 ID:RK9O+rKP.net]
- javascript に変換してくれる
javascript をベースとしない言語を作ってくれればいいのに 何で Typescript はjavascript のだめな部分を採用するかなあ
- 284 名前:デフォルトの名無しさん mailto:sage [2023/12/26(火) 16:19:36.04 ID:mqBTqnav.net]
- Dart「」
- 285 名前:デフォルトの名無しさん mailto:sage [2023/12/26(火) 17:24:43.39 ID:iPMho+OF.net]
- 腐るほどあるぞ
https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
- 286 名前:デフォルトの名無しさん mailto:sage [2023/12/27(水) 16:09:42.74 ID:tr4LC1TL.net]
- VSCode, node.js, webpack, babel で、TypeScript も出来る
Ruby on Rails 7 から、CDN から直接インポートするように変わった。 脱webpack/node.js で、esbuild へ変わった
- 287 名前:デフォルトの名無しさん mailto:sage [2023/12/29(金) 20:15:59.53 ID:zmYXdzDO.net]
- Nodeのサポート3年って期間自体は普通なんだが、JSのまま使うことって無くなってるから実質TS関連が安定するまでは捨て期間なんだよな
安定版で作り始めてリリースする頃にはもう期限切れ間近ってことが多くて体感のサポート期間がめっちゃ短く感じる
- 288 名前:デフォルトの名無しさん mailto:sage [2023/12/29(金) 20:35:12.47 ID:ZQd4jDMZ.net]
- TS関連が安定するまでってなんのこと?
- 289 名前:デフォルトの名無しさん mailto:sage [2024/01/03(水) 11:12:40.45 ID:ePkoaEgV.net]
- >>287
基本的にNodeのバージョンとTSのバージョンは独立だろう 何の話をしてるのかわからん
- 290 名前:デフォルトの名無しさん [2024/03/17(日) 02:05:57.85 ID:SEDAzzjE.net]
- TSがネイティブで動くブラウザを
MSは試験的に開発提供したら良いと思う。 TS-Edgeとかの名前で。 CDNから<script src="hoge.ts">を 読み込むだけで動く仕様。
- 291 名前:デフォルトの名無しさん mailto:sage [2024/03/17(日) 10:14:57.42 ID:M30p/Xa2.net]
- あんまり意味ない気がするな。
開発時のTAT改善なら今プロポーザル出してるType Annoatationsでも十分だろうし。
- 292 名前:デフォルトの名無しさん mailto:sage [2024/03/27(水) 17:56:25.12 ID:KuRRRRWB.net]
- 型引数Tがnullを取るかどうかを判定する関数
function isNullable<T>(): boolean みたいなのを作ろうとあれこれ調べてたけど よく考えたら実行時に型情報持たないから無理な話よね 別のアプローチを考えねば
- 293 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 21:41:16.33 ID:jcLAnU46.net]
- >>253
イマイチピンとこない、参考までに教えてほしい
- 294 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 12:10:53.54 ID:5uVBistr.net]
- >>293
ある式の型を変更したときの要修正箇所を洗い出す方法は、一般には 1. 代入によって生じる依存関係のツリーを作る 2. ツリーの中で修正の必要な箇所を特定する となるだろう で1については251の言ってるように静的型であれば最適解析によって高い精度で比較的容易に作成可能だ。 2は静的型なら型の不整合によるエラーは検出できるから、完全ではないにしろ作業は多少楽にはなるだろうな。
- 295 名前:デフォルトの名無しさん mailto:sag [2025/03/12(水) 23:21:23.37 ID:lbLxbJz3.net]
- マイクロソフト、プログラミング言語「TypeScript」の処理を10倍高速にすることに成功 [478973293]
https://hayabusa9.5ch.net/test/read.cgi/news/1741787027/
- 296 名前:デフォルトの名無しさん mailto:sage [2025/03/12(水) 23:29:30.94 ID:N9vVltw1.net]
- >>295
いつものガセタイトルな記事だった 当然TypeScriptが速くなるわけがない コンパイルももちろん遅いので他の言語でコンパイルするようにしたら速くなったという当たり前の記事だった
- 297 名前:デフォルトの名無しさん [2025/03/13(木) 00:40:12.20 ID:LjFU/87D.net]
- Bun使おう
使ってる?みんな
- 298 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 00:59:18.10 ID:CUgSs/sX.net]
- なに?bunて
- 299 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 01:38:08.11 ID:xe4EtGLf.net]
- goはwasm化したときに遅いらしいから不安
早くなる余地はあるのかな ↓は簡単なコードをブラウザで解析した例らしい https://x.com/sanxiaozhizi/status/1899628334516175236
- 300 名前:デフォルトの名無しさん [2025/03/13(木) 08:34:30.29 ID:2MhJpLS0.net]
- >>298
node.jsの代わりになるようなやつ TypeScriptをJavaScriptに変換せずそのまま実行できる あとnpm, jest, webpackなんかと同じ機能もBunに統合されてるので、Bunだけ入れればjestとかのほかのパッケージをインストールしなくてよい 高速性がウリ(Node.jsの何倍も速い)、らしい 難点としては2022年に生まれたばかりだからまだ安定性とか将来性が不安 リファレンスがまだまだ少ない サードパーティパッケージは基本npmと同じものをインストールできるが動かないものもある、 などなど 気になってはいるけど業務で使うのはまだちょっと怖い
- 301 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 09:04:37.99 ID:Enlq0ene.net]
- なるほど、ありがとう
JavaScriptに変換しなくて良いのは動作が速そうだな
- 302 名前:デフォルトの名無しさん [2025/03/13(木) 09:12:41.76 ID:2MhJpLS0.net]
- >>301
そもそもトランスパイルが不要なことに加えて、低レベル言語で開発してるから動作そのものも速いらしい
|

|