TypeScript part4 (396レス)
上下前次1-新
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の元々の変数の扱い様そのもの。
216: .NET MAUI HighSchool 2022/12/17(土)01:46 ID:WFRGIGZB(3/8) AAS
>>213
TypeScriptはC#以下だったってわけか
理解
217: 2022/12/17(土)01:54 ID:Q7rx/k0e(2/2) AAS
目的が違うんだよ。C#ではTypeScriptのようなことは出来ない。
良い意味でも悪い意味でもJavaScriptのスーパーセットかつトランスパイラである必要があるんだから。
ただTypeScriptが将来C#でやってることを概ね肩代わりすることは可能だったりはするんだけどね.netライブラリをそのまま動かすように改変していくことも障害は少ない。
218: 2022/12/17(土)02:13 ID:dtBkzR03(1) AAS
そいつにかまうなよ
あちこちの言語やフレームワークスレに乗り込んでは意味不明な喧嘩売って
C#マンセーMAUIマンセーしてるだけの荒らし
219(2): 2022/12/17(土)03:00 ID:7f5jCiop(1) AAS
再代入と型は関係ないだろ
見た感じC#も満足に使えてないじゃん
220: .NET MAUI HighSchool 2022/12/17(土)04:20 ID:WFRGIGZB(4/8) AAS
>>219
どこが?
dynamic型知ってる?
221(1): 2022/12/17(土)08:49 ID:J7I3yK2m(1) AAS
>>211
まぁ初心者なら便宜的に型だって覚えときゃいいよ
>>212
型の再代入って何?
値の再代入とは違うの?
222(1): .NET MAUI HighSchool 2022/12/17(土)11:38 ID:WFRGIGZB(5/8) AAS
>>221
値は型があってたら普通は再代入はできる
ただ型があってなかったらできない
dynamic型は型があってなくても再代入できる
223(1): 2022/12/17(土)12:01 ID:d07Wp+U/(1/2) AAS
>>222
それをC#では型の再代入って呼ぶの?
TypeScriptでは変数をletで宣言すれば値を再代入できる
変数がany型ならどんな型の値でも代入できる
変数をconstで宣言すれば型が同じであろうと再代入できない
>>219の言ってるのはそういうこと
224: .NET MAUI HighSchool 2022/12/17(土)12:25 ID:EKmrQGNL(1/2) AAS
>>223
そういう決まった名前無いけどdynamic型は型を変えれるからそう言ってる
225(1): .NET MAUI HighSchool 2022/12/17(土)12:25 ID:EKmrQGNL(2/2) AAS
つまりletがvarでanyがdynamicってことか
226(1): 2022/12/17(土)12:32 ID:AZCBrKeq(1/2) AAS
ここでもバカ晒してるのかよw
227: .NET MAUI HighSchool 2022/12/17(土)12:38 ID:WFRGIGZB(6/8) AAS
>>226
何いってんだこいつ?
228(1): 2022/12/17(土)12:56 ID:d07Wp+U/(2/2) AAS
>>225
説明の仕方が悪かったか
C#の
dynamic x = "abc";
x = 123; //OK
に相当するのは
let x:any = "abc";
省9
229: .NET MAUI HighSchool 2022/12/17(土)14:07 ID:WFRGIGZB(7/8) AAS
>>228
なるほど理解したサンクス
230: 2022/12/17(土)18:19 ID:EAGB3+7T(1) AAS
なんでぽまいらはC#の話をしているんだ?
231: .NET MAUI HighSchool 2022/12/17(土)18:58 ID:WFRGIGZB(8/8) AAS
anyはネタにされるけどvarはネタにされないなと思ってさ
まぁ勘違いだったんだけどね
232: 2022/12/17(土)19:14 ID:ETb1szGB(1) AAS
なぜanyがネタにされたり忌み嫌われたりするのかはその機能だけ見ても分からんだろうね
言語特有の背景を理解してこそ
外部リンク:qiita.com
233: 2022/12/17(土)20:38 ID:/cYfBcZ5(2/2) AAS
any無しはJSONの扱いが面倒臭過ぎるんだよなあ
必要に応じて型のランタイムチェックを入れてキャストできる機能さえあれば格段に便利になるんだが
234: 2022/12/17(土)20:55 ID:AZCBrKeq(2/2) AAS
ユーザー定義型ガードで足りると思うが
235: 2022/12/21(水)14:23 ID:FWjNfdlT(1) AAS
JSONだろうがanyを許すな。Zodとか使うのだ
236: 2023/01/03(火)23:03 ID:6VbKu+1R(1) AAS
pythonを書いていると型縛りが馬鹿らしくなる
237: 2023/01/03(火)23:51 ID:FIKRmyvH(1) AAS
JavaScriptを書いていると型縛りが馬鹿らしくなる
みんながそう思ってたらTypeScriptは生まれてこなかっただろうね
238: 2023/01/04(水)00:03 ID:eKtKRLft(1) AAS
型なんて要らねーとか言ってるのは、ほぼ1人でコーディングしてる奴
まぁ、実際1人でなら要らないかも知れない
これが複数人でコーディングする事になると、他人が実装した関数にどんなデータを渡していいか全然分からない
その為にTypeScriptがある
239(1): 2023/01/04(水)00:08 ID:PCFpglko(1/2) AAS
型がない方が縛りプレイだろ
240(1): 2023/01/04(水)00:44 ID:B1scSs4x(1) AAS
JavaScriptは引数の数すらチェックされない上に暗黙の変換にundefined/null/NaNと昔はブロックスコープもなくてバグの温床てんこ盛りだったからやろ
intとかStringとかのベーシックな型を書きまくつてるコードを見ると欠陥言語だなと思う
241: 2023/01/04(水)09:28 ID:77WW46pZ(1) AAS
>>239
縛り方を間違うと死ぬからな
242: 2023/01/04(水)10:15 ID:y9fxcgcU(1) AAS
Flow「…」
243: 2023/01/04(水)11:23 ID:PU4coe7B(1/2) AAS
パラメタ名・変数名で型がわかるようにしとけば大概は済む
引数の個数をテキトウに呼ぶ奴がいたら、それはそんな作り方する方がおかしい
244: 2023/01/04(水)11:53 ID:+W5BVHVt(1) AAS
そういう開発者にのしかかる煩わしさを軽減するのが型の役目だろうに
245: 2023/01/04(水)16:13 ID:s5vEki4C(1) AAS
コーディングルールの運用で型限定するのも
コンパイラにまかせて型限定するのも
少なくとも js に限って言えば前者の方が手間は少ない
246: 2023/01/04(水)16:35 ID:WgdCy7ph(1/2) AAS
本気で言ってるのか・・・?
247: 2023/01/04(水)16:38 ID:oLi3mo91(1) AAS
>パラメタ名・変数名で型がわかるようにしとけば大概は済む
よく事故るのは受け渡すオブジェクトのメンバーの有無だったりするけどそれには無力だな。
248: 2023/01/04(水)16:48 ID:PU4coe7B(2/2) AAS
大概、おおむねって話よ
よほど便利だろうから、こういう言語が生れたのだろうし全否定するわけではない
あと、処理系が変数の型を把握できても、しかるべき名前でないと、開発者に分かりにくい場合がある
自作でもこれなんだっけ?紛らわしいなって、結局名前弄ったり、名前って大事
249: 2023/01/04(水)16:56 ID:+smwzq4n(1/2) AAS
型付けはあった方が良いけど、肝心の成果物がしょーもないことは多々あるな
最近まで参画していたアプリはすげー健康なブスだった
250: 2023/01/04(水)17:01 ID:WgdCy7ph(2/2) AAS
開発途中で型の変更が必要になったとき安全に漏れなく修正できるメリットとかは無視できないんだけど
今までそういう経験がなかったんだろうか
251: 2023/01/04(水)17:46 ID:JvBm8lal(1) AAS
そういうのはどのみち影響しそうな箇所を全部見て確認しなきゃいけないから、値に型があることはそれほど重要じゃないと思う
それよりも代入により生じる依存関係を静的に追跡可能であることが重要で、その点では型があることで飛躍的に静的解析の精度が上がる
ただ、そのためには静的解析しやすい作りになっていることが大前提だ
動的型畑の人って概してオブジェクトと連想配列の区別が曖昧で、静的型に馴染んだ人からすると信じられないような型安全もクソもないコード書くからな
それを根本的に改めないなら型なんて大して役に立たん
252(1): 2023/01/04(水)18:22 ID:thANRos2(1) AAS
>そういうのはどのみち影響しそうな箇所を全部見て確認しなきゃいけないから、値に型があることはそれほど重要じゃないと思う
その影響しそうな箇所の把握に型があるのとないのでは大きく正確性や効率に差が出てくるでしょって話
253: 2023/01/04(水)22:43 ID:PCFpglko(2/2) AAS
まぁRubyやPHP出身の低能にそもそも型書かせるのが難しいという意見には同意
根本的に教養・学が足りないから、どうしようもない
もはや言語仕様で救えないレベルの話である
254: 2023/01/04(水)22:52 ID:492NQUrQ(1) AAS
動的型畑の奴が一概にバカとは思わないが、オブジェクトの全プロパティ舐めて値を書き換えたりするコードが突如出現したりして面食らう
根本的に思考回路が我々とは違うのだなと感じる
255: 2023/01/04(水)23:21 ID:+smwzq4n(2/2) AAS
クスクス
256: 2023/01/05(木)10:41 ID:Cbg+aaE9(1) AAS
>240
>暗黙の変換
これが諸悪の根源
257: 2023/01/05(木)21:34 ID:OE/QT1xu(1) AAS
JavaScriptは信用できない、JavaScriptは危険。
だからJavaScriptを撲滅しようとした時代があったんだよな。
JavaScriptそのものは書くものではなくて、使うものに変化した。
258: 2023/01/05(木)22:57 ID:ySLiYJwl(1) AAS
JSを半端に知ってるやつこそそう言うけど、地雷がたくさん埋まってる以外は悪い言語じゃない。TypeScriptも今となっては薄いラッパーに過ぎないし
259: 2023/01/05(木)23:01 ID:+/A/RNe/(1) AAS
何作るかによるな
んで、Typescriptでしょーもないもの作ってる奴はかなり多い
260: 2023/01/06(金)00:04 ID:B+7qMiMZ(1) AAS
動的型付けでしょーもないもの作ってる奴の方が圧倒的に多い事実
261: 2023/01/06(金)16:55 ID:YIB2cDqh(1) AAS
jsもperlも卒業しろよ
262: 2023/01/07(土)02:08 ID:cY6/G25e(1) AAS
TSも卒業してrust書け
263: 2023/01/07(土)14:15 ID:8dRqY2Xm(1) AAS
ビルドが遅いからヤダ
264: 2023/02/02(木)13:12 ID:JJCniKqD(1) AAS
( )y-~~ ( >)y-~~( >-)y-~~( >-< )y-~~ ウマスギル・・
265: 2023/02/27(月)18:54 ID:oOpYqea1(1) AAS
男卒業してTSしろ
266: 2023/03/12(日)13:16 ID:s6IZ9iua(1/2) AAS
return this.#instance!;
外部リンク[ts]:github.com
! って何なんや?
267(1): 2023/03/12(日)13:55 ID:BMIpSqUT(1) AAS
nullとかundefinedじゃねーよって意味
268: 2023/03/12(日)21:52 ID:mg++gyQG(1) AAS
undefinedっていらなくない?
全部nullと同等にしてほしいわ
269(1): 2023/03/12(日)23:18 ID:s6IZ9iua(2/2) AAS
>>267
助かった
記号はググりずらくて困ってたわ
270: 2023/03/12(日)23:38 ID:MrtVVZC+(1) AAS
>>269
次また困ったら解読アシスタントに貼り付けるといいよ
外部リンク:typescriptbook.jp
271: 2023/07/30(日)19:53 ID:dgsp3YJD(1) AAS
しーん
272: 2023/09/26(火)00:05 ID:AayxzQ1y(1) AAS
しーん2
273: 2023/10/08(日)11:41 ID:apfSCKMz(1) AAS
しーん3
274(1): 2023/11/11(土)14:20 ID:Sje4N6L2(1) AAS
TypeScript が作られた由来に関連しての事ですが
JavaScript と CSSは
直感的ではなく地雷陥穽満載の言語だと思い
苦痛を感じているのですが
Web開発が根本的にもっと簡単に楽になる事は
近い将来ありえますでしょうか。
ブラウザ自体とDOM操作が
省2
275: 2023/11/11(土)15:40 ID:GVZLIDCW(1) AAS
あなたの信仰しだいです。
276: 2023/11/18(土)08:35 ID:CqCGVMdq(1) AAS
>>274
WebAssembly
277: 2023/11/18(土)23:58 ID:4VZDo/pg(1) AAS
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);
どういうこっちゃ
278(1): 2023/11/19(日)01:01 ID:6eSmn67d(1) AAS
>>0277 以前から未解決の課題です
外部リンク:github.com
279: 2023/11/19(日)01:58 ID:b+haLRoI(1) AAS
>>278
ほんとだ・・・到達できないコードでは文脈を無視してタイプチェックするのか・・・
const foo: string | null = 'foo';
// return;
// throw new Error();
console.log(foo.charAt(0)); // error TS18047: 'foo' is possibly 'null'.
returnかthrowのコメントを外すとエラーになる
省1
280: 2023/11/19(日)11:55 ID:dTiD0l2A(1) AAS
興味深い挙動だね
画像リンク[png]:i.imgur.com
そもそも到達不能コードがあること自体が問題なわけでこれがエラーになっても実害はないだろうけど
returnやthrowを仮置きしたいときにエラーを出したくないなら
if (!!true) return;
if (!!true) throw new Error();
とかするのがいいのかねぇ
281: 2023/12/25(月)19:47 ID:/uFZ/UI7(1) AAS
最近はフレームワークが全部準備してくれるから書き心地の良さだけを享受できてたけど
久々に自分でゼロから環境作ろうとすると設定の混沌っぷりに絶望するな
たぶんハローワールドするまでの作業が一番苦しいのはTypeScriptだと思う
282: 2023/12/26(火)14:57 ID:RK9O+rKP(1) AAS
javascript に変換してくれる
javascript をベースとしない言語を作ってくれればいいのに
何で Typescript はjavascript のだめな部分を採用するかなあ
上下前次1-新書関写板覧索設栞歴
あと 114 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s