http://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/
探検
TypeScript part4
1デフォルトの名無しさん
2021/12/30(木) 22:57:02.78ID:XEA11GKy143デフォルトの名無しさん
2022/04/22(金) 15:45:27.64ID:rFOQ0LJz ここよりフロントエンドのフレームワークのスレで聞いたほうが良いと思うな
144デフォルトの名無しさん
2022/04/26(火) 21:25:48.15ID:1qeD7Yad JSファミリーの仕様のごちゃごちゃ加減が酷い
なんでこれが流行ったんだ
なんでこれが流行ったんだ
145デフォルトの名無しさん
2022/04/26(火) 21:27:37.78ID:1qeD7Yad 他の言語が取って変わろうとするたびに、
javascript側の仕様更新による延命がうまくいったせいで、
ごちゃごちゃな歴史を引きずったまま、いまでもゾンビのように君臨してるパターンか
フロントのフレームワーク、JS一択なのが酷い
javascript側の仕様更新による延命がうまくいったせいで、
ごちゃごちゃな歴史を引きずったまま、いまでもゾンビのように君臨してるパターンか
フロントのフレームワーク、JS一択なのが酷い
146デフォルトの名無しさん
2022/04/26(火) 21:37:42.76ID:QNVEk81Z ブラウザがまともにサポートしてるのがそれだけだったから仕方がない
もし最初に軌道に乗ったブラウザスクリプトがVBだったら今頃VBが流行ってたよ
もし最初に軌道に乗ったブラウザスクリプトがVBだったら今頃VBが流行ってたよ
147デフォルトの名無しさん
2022/04/26(火) 22:16:40.32ID:/B/eiBVl ありえんわ
勘違いもはなばなしい
なんだかんだ(古い文法を除けば)JS/TSの文法はプログラミング正統派として読みやすい
だから未だに使われ続けている
勘違いもはなばなしい
なんだかんだ(古い文法を除けば)JS/TSの文法はプログラミング正統派として読みやすい
だから未だに使われ続けている
148デフォルトの名無しさん
2022/04/26(火) 22:16:58.75ID:QNVEk81Z と思いたいんだね
149デフォルトの名無しさん
2022/04/26(火) 22:23:32.66ID:DyWQhYeY 実に華々しい勘違いですね
150デフォルトの名無しさん
2022/04/27(水) 09:19:38.83ID:+qhhkVcT いや、鼻々しい勘違いでいた
151デフォルトの名無しさん
2022/04/27(水) 09:21:46.08ID:+qhhkVcT でも、TS様のおかげでJSの酷さがかなり軽減されていると思る
勿論、TSスレだから媚びを売ってるだけだ
勿論、TSスレだから媚びを売ってるだけだ
152デフォルトの名無しさん
2022/04/27(水) 20:19:12.60ID:WzmT7FsB interfaceのほうがコードきれいになるな
typeは便利だが良くない発明だ
typeは便利だが良くない発明だ
153デフォルトの名無しさん
2022/04/28(木) 21:43:14.60ID:oBwwA7sc interfaceできれいになるような糞コード書いてるのが問題なのでわ?
154デフォルトの名無しさん
2022/04/28(木) 21:53:14.86ID:kbziWRDf クソコードって|とか&使ってる馬鹿なコード
unionって今どきC言語かよ
unionって今どきC言語かよ
155デフォルトの名無しさん
2022/04/29(金) 05:07:46.33ID:9Pfdk6R3 まあC++使えない奴は、大抵何させてもたいしたこと無いけどなw
156デフォルトの名無しさん
2022/04/29(金) 05:15:00.80ID:bza0ag8S う、うん…(´・ω・`)
157デフォルトの名無しさん
2022/04/29(金) 05:37:28.64ID:a7FB1YkL ヨシ!
158デフォルトの名無しさん
2022/04/29(金) 05:57:49.75ID:fa9VGnxG このスレやべーやつ住んでるな。ワッチョイつけなかったからこんなもんか
159デフォルトの名無しさん
2022/04/29(金) 08:07:44.25ID:nnpkzAOE 次世代言語スレから何か流れてきてるだろ
160デフォルトの名無しさん
2022/04/30(土) 02:13:26.17ID:u1byxZ8b C++を使うにはCの知識も当然必要だがな
161デフォルトの名無しさん
2022/04/30(土) 11:22:16.98ID:Jfyr/cmt オーバーロードがもうちょいマシだったらなと思う
162デフォルトの名無しさん
2022/05/10(火) 11:41:45.53ID:fIyMb/gO ,―彡 ⌒ ミ―、
〈 〈| ´ん` |〉 〉
\ ヽ _ / /
/ /みんなで
/ /ホモセックス
〈 〈| ´ん` |〉 〉
\ ヽ _ / /
/ /みんなで
/ /ホモセックス
163デフォルトの名無しさん
2022/05/30(月) 21:44:48.53ID:URC3D+jY バカが書いたTypeScriptってマジで糞だな
って思ったけどJavaScriptだったらもっと糞になってたんだよなって思って心の平静保ってる
って思ったけどJavaScriptだったらもっと糞になってたんだよなって思って心の平静保ってる
164デフォルトの名無しさん
2022/05/30(月) 21:47:51.98ID:arvcbcVn それ言ったら賢い奴が書いたらCでも何も問題ないんだが
言語が縛ってるのは所詮馬鹿対策でしかない
言語が縛ってるのは所詮馬鹿対策でしかない
165デフォルトの名無しさん
2022/06/29(水) 20:00:27.28ID:NKfPTkof 質問です。
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)
になりますが、
・type t = ... を書き換えてはいけない
・const f の実装を
const f: t = (a) => <string><unknown>false;
のように書き換えてはいけない
・// @ts-ignore
を使ってはいけない。
という縛りで、例えばですが、
type t = (a: string) => string;
overwrite type t = (a: string) => string | boolean;
const f: t = (a) => false;
console.log(f('x'));
のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか?
(overwrite type...は、そんな文法は無く、仮想の方法です。)
また、型定義と型指定部分だけ書き換え不可としたら、普通は、
<string><unknown>false;
// @ts-ignore
どちらで乗り切るのでしょうか?
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)
になりますが、
・type t = ... を書き換えてはいけない
・const f の実装を
const f: t = (a) => <string><unknown>false;
のように書き換えてはいけない
・// @ts-ignore
を使ってはいけない。
という縛りで、例えばですが、
type t = (a: string) => string;
overwrite type t = (a: string) => string | boolean;
const f: t = (a) => false;
console.log(f('x'));
のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか?
(overwrite type...は、そんな文法は無く、仮想の方法です。)
また、型定義と型指定部分だけ書き換え不可としたら、普通は、
<string><unknown>false;
// @ts-ignore
どちらで乗り切るのでしょうか?
166デフォルトの名無しさん
2022/06/30(木) 01:29:29.02ID:9mtgPMTA >>165
普通はfの型をtにしないと思うのだが、どういう意図があるの?
普通はfの型をtにしないと思うのだが、どういう意図があるの?
167デフォルトの名無しさん
2022/06/30(木) 07:51:24.33ID:dQhuKSOV >>165
>のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか?
型定義を後付けで変更できたらいろんな前提がひっくり返る気が
そんなことが必要な状況が想像できないけどコードの臭いがプンプンする
>のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか?
型定義を後付けで変更できたらいろんな前提がひっくり返る気が
そんなことが必要な状況が想像できないけどコードの臭いがプンプンする
168デフォルトの名無しさん
2022/06/30(木) 09:29:37.43ID:Rcw/gVlt ライブラリの型が間違ってるとか?
質問あるあるだが、抽象化も大事だが、具体的な状況も書き添えると回答してもらいやすくなると思うよ
そもそもの質問がずれてるとかもあるからね
質問あるあるだが、抽象化も大事だが、具体的な状況も書き添えると回答してもらいやすくなると思うよ
そもそもの質問がずれてるとかもあるからね
169デフォルトの名無しさん
2022/06/30(木) 11:29:36.59ID:Argu0lpR >>165
です。ありがとうございます。
実際のケースでお話しします。
・ライブラリの型を利用している。
・ライブラリの実装をそのまま真似ている。(実装は変えられる。)
・anyは使わない方針。
の状況です。
【型定義(サードパーティ)】
declare const visit: { <V extends Node>(tree: Node,test: Test<V> | Array<Test<any>>,visitor: visit.Visitor<V>,reverse?: boolean): void }
export = visit
declare namespace unistUtilIs {
type TestFunction<T extends Node> = (node: unknown,index?: number,parent?: Parent) => node is T
type Test<T extends Node> = TestFunction<T> | null | undefined }
【実装(大部分省略)】
import visit from 'unist-util-visit';
import { Node, Data } from 'unist';
function visitX(node: any): void {
if (!node.type) return;
}
return function transformer(tree): void {
visit(tree, (node: Node<Data>) => node.type === 'xxx', visitX);
};
ここで、function visitX(node: any) の Unexpected any. を消すのに難儀しています。
function visitX(node: Node<Data>): void {
にすると、
visit( の部分で
No overload matches this call.
Overload 1 of 2, '(tree: Node<Data>, test: any[] | Test<Node<Data>>, visitor: Visitor<Node<Data>>, reverse?: boolean | undefined): void', gave the following error.
...
と怒られます。極端な話、サードパーティの定義の方をいじらないと解決しないかもと思った次第です。
です。ありがとうございます。
実際のケースでお話しします。
・ライブラリの型を利用している。
・ライブラリの実装をそのまま真似ている。(実装は変えられる。)
・anyは使わない方針。
の状況です。
【型定義(サードパーティ)】
declare const visit: { <V extends Node>(tree: Node,test: Test<V> | Array<Test<any>>,visitor: visit.Visitor<V>,reverse?: boolean): void }
export = visit
declare namespace unistUtilIs {
type TestFunction<T extends Node> = (node: unknown,index?: number,parent?: Parent) => node is T
type Test<T extends Node> = TestFunction<T> | null | undefined }
【実装(大部分省略)】
import visit from 'unist-util-visit';
import { Node, Data } from 'unist';
function visitX(node: any): void {
if (!node.type) return;
}
return function transformer(tree): void {
visit(tree, (node: Node<Data>) => node.type === 'xxx', visitX);
};
ここで、function visitX(node: any) の Unexpected any. を消すのに難儀しています。
function visitX(node: Node<Data>): void {
にすると、
visit( の部分で
No overload matches this call.
Overload 1 of 2, '(tree: Node<Data>, test: any[] | Test<Node<Data>>, visitor: Visitor<Node<Data>>, reverse?: boolean | undefined): void', gave the following error.
...
と怒られます。極端な話、サードパーティの定義の方をいじらないと解決しないかもと思った次第です。
170デフォルトの名無しさん
2022/06/30(木) 12:31:53.04ID:Rcw/gVlt 5chだと読みづらいからts playgroundなりcode sandboxなりに書いて欲しい
171デフォルトの名無しさん
2022/06/30(木) 12:53:38.41ID:Argu0lpR172デフォルトの名無しさん
2022/08/26(金) 00:55:54.58ID:z3bi9+6P Recordとmapped typesの使い分け方が分かりません
Record<Key, Value>と{ [key: Key]: Value }ってinterchangeableな気がするんですが、
どっちかにしかできないことがあったりするんですか?
Record<Key, Value>と{ [key: Key]: Value }ってinterchangeableな気がするんですが、
どっちかにしかできないことがあったりするんですか?
173デフォルトの名無しさん
2022/08/26(金) 08:07:49.83ID:cPJ/q77Z mapped の方が柔軟
type X = { age: number, name: string }
これは Record では定義できないだろう
type X = { age: number, name: string }
これは Record では定義できないだろう
174デフォルトの名無しさん
2022/08/26(金) 08:46:09.94ID:yW+yR6PJ Recordはキーがいくつかの既知の値のみに限られる場合に使う
{ [key: Key]: Value }だとキーが何でも入っちゃうでしょ
{ [key: Key]: Value }だとキーが何でも入っちゃうでしょ
175174
2022/08/26(金) 10:07:43.28ID:yW+yR6PJ 限られるというより、必ず既知のキーを持っていることが保証されるというべきか
record.knownKey のような既知のキーによるアクセスがタイプセーフになり、コード補完も効く
record.knownKey のような既知のキーによるアクセスがタイプセーフになり、コード補完も効く
176デフォルトの名無しさん
2022/08/26(金) 10:18:44.77ID:XmC41P2C 微妙にインデックス型とmapped typeがごっちゃになってて話をややこしくしてる気がする
177デフォルトの名無しさん
2022/08/26(金) 22:54:52.76ID:wGXHgoK/ >>173
それはただのオブジェクト型だと思うが
それはただのオブジェクト型だと思うが
178.NET MAUI HighScool
2022/11/03(木) 11:06:25.02ID:P57hKE9o もしかしてTypeScriptってC#で良いのでは?
静的型付け言語だしオブジェクト指向だし作った人も一緒
静的型付け言語だしオブジェクト指向だし作った人も一緒
179デフォルトの名無しさん
2022/11/03(木) 11:18:14.22ID:/OhXuECX C#でいいならわざわざ同じ人が新言語作らないだろ
ヘルスバーグはMS内では神みたいな扱いらしいから、自分で意味ないと思ってる仕事なんかやらないよ
ヘルスバーグはMS内では神みたいな扱いらしいから、自分で意味ないと思ってる仕事なんかやらないよ
180デフォルトの名無しさん
2022/11/03(木) 11:27:45.04ID:BN1z7WMM TypeScriptが解決してる問題をC#が全て解決出来るか考えてみれば?
181.NET MAUI HighScool
2022/11/03(木) 11:38:56.77ID:P57hKE9o >>180
できてるじゃん
できてるじゃん
182デフォルトの名無しさん
2022/11/03(木) 12:08:35.27ID:S9tMl46F or型というのかunion型というのか忘れたけど、C#にはなくない?
type a = b | c
(C#にもこの機能欲しい)
type a = b | c
(C#にもこの機能欲しい)
183デフォルトの名無しさん
2022/11/03(木) 12:23:54.28ID:d31vVPfb JavaScriptに静的型付けの恩恵を与えるために作られたのがTypeScript
C#でそれは出来ないでしょ
C#でそれは出来ないでしょ
184.NET MAUI HighScool
2022/11/03(木) 12:26:39.11ID:Kj7ywx2W >>183
C#が静的型付けじゃん
C#が静的型付けじゃん
185デフォルトの名無しさん
2022/11/03(木) 12:29:42.91ID:d31vVPfb C#ではJavaScriptに静的型付けの恩恵を与えられないでしょ
186.NET MAUI HighScool
2022/11/03(木) 12:39:42.87ID:Kj7ywx2W >>185
なんで?
なんで?
187デフォルトの名無しさん
2022/11/03(木) 12:47:16.05ID:d31vVPfb >>186
君はC#がJavaScriptに静的型付けの恩恵を与えられると思ってるの?
君はC#がJavaScriptに静的型付けの恩恵を与えられると思ってるの?
188デフォルトの名無しさん
2022/11/03(木) 12:57:24.44ID:t+iDkaHi >>182
これについてはTypeScriptが便利というよりは、JSのやり方に合わせるために必要となっているものだと思う
C#では型が条件によってコロコロ変わるような設計は普通しないから、nullabilityさえ指定できれば多くの場合十分
これについてはTypeScriptが便利というよりは、JSのやり方に合わせるために必要となっているものだと思う
C#では型が条件によってコロコロ変わるような設計は普通しないから、nullabilityさえ指定できれば多くの場合十分
189.NET MAUI HighScool
2022/11/03(木) 13:04:33.62ID:fiCeisHS >>187
いや別にJavaScript使う必要なくね?
いや別にJavaScript使う必要なくね?
190デフォルトの名無しさん
2022/11/03(木) 13:12:15.66ID:d31vVPfb >>189
それは論点のすり替えでしょ
それは論点のすり替えでしょ
191デフォルトの名無しさん
2022/11/03(木) 14:21:47.63ID:M3w0A0V3 代数的データ型は静的型付け言語にもあるよ。
最近のC#でも出来るけど記述量が多い。F#なら比較的楽に書けるけど。
最近のC#でも出来るけど記述量が多い。F#なら比較的楽に書けるけど。
192デフォルトの名無しさん
2022/11/03(木) 15:50:32.38ID:BAhN8xRm typescriptが実行時型安全まで保証してくれたらもう他の言語いらんのよな
REST APIというかJSONとの相性もマックスバリューだし
世にはびこっている型なし糞言語を全て地獄に葬り去ってほしい
REST APIというかJSONとの相性もマックスバリューだし
世にはびこっている型なし糞言語を全て地獄に葬り去ってほしい
193デフォルトの名無しさん
2022/11/03(木) 16:11:11.85ID:cSIPlVD9194デフォルトの名無しさん
2022/11/03(木) 16:27:43.63ID:M3w0A0V3195デフォルトの名無しさん
2022/11/03(木) 18:23:11.89ID:zVDUtzQU >>192
型をバリデーションライブラリから生成すると捗るよ
型をバリデーションライブラリから生成すると捗るよ
196デフォルトの名無しさん
2022/11/03(木) 20:49:50.25ID:BAhN8xRm >>195
おっ zodmanか?
おっ zodmanか?
197デフォルトの名無しさん
2022/11/03(木) 20:56:17.04ID:tn2ZhR3p interface/classからjsonschemaを生成して、それを型ガード関数で使うってのが鉄板。
198デフォルトの名無しさん
2022/11/03(木) 21:05:34.21ID:zVDUtzQU199デフォルトの名無しさん
2022/11/03(木) 21:36:19.22ID:tn2ZhR3p コードサイズは気にしたことがないがスキーマ手書きは面倒臭いからやだなあ。
200デフォルトの名無しさん
2022/11/03(木) 22:05:24.52ID:S9tMl46F RestAPIの型チェックはio-tsっていうライブラリつかってバリデーションしてるな。
実行時コストがあるけど、自分は業務アプリがメインなんで変な結果で次に進まない方が大事。
実行時コストがあるけど、自分は業務アプリがメインなんで変な結果で次に進まない方が大事。
201デフォルトの名無しさん
2022/11/03(木) 22:38:04.12ID:zVDUtzQU >>199
ZodとかSuperstructとかはtypeで型書くのとほぼ同じくらいの手間でバリデーションと型が生成されるからすげー楽だよ。
ZodとかSuperstructとかはtypeで型書くのとほぼ同じくらいの手間でバリデーションと型が生成されるからすげー楽だよ。
202デフォルトの名無しさん
2022/11/03(木) 22:52:51.54ID:tn2ZhR3p うーん、俺はやっぱりTypescriptで書いた型そのまま使える方が楽だわ。
203デフォルトの名無しさん
2022/11/04(金) 15:37:16.21ID:NHN4pq/h HighScool君は納得して帰ったのか
204デフォルトの名無しさん
2022/11/04(金) 23:24:08.39ID:/YFZG+0u superstruct と zod ならどっちがええのんか?
205.NET MAUI HighSchool
2022/12/16(金) 16:55:41.78ID:3qj0lL1U C#だとvar型でも何ら問題無いと思われてるのにTypeScriptのanyはなんでTwitterでネタにされるんでしょうか?
私もあまりvar型使いませんが公式とかvar型使いまくってるしTypeScriptでany使っても何ら問題なさそうなのですが…
私もあまりvar型使いませんが公式とかvar型使いまくってるしTypeScriptでany使っても何ら問題なさそうなのですが…
206デフォルトの名無しさん
2022/12/16(金) 17:30:57.27ID:p0Ky0qXF コーディング時にvarは右辺で型が決まるけどanyは決まらないからかな
207.NET MAUI HighSchool
2022/12/16(金) 18:26:46.45ID:3qj0lL1U208デフォルトの名無しさん
2022/12/16(金) 21:33:55.14ID:AqSpfMIV そもそもvarは正確には型じゃないだろ
209デフォルトの名無しさん
2022/12/16(金) 21:58:06.83ID:V2l7/OO4 var型はないな
型の堅牢性などを享受するためにTypeScriptを使用しているはずなのに、anyを持ち出せばそれが途端に失われるから絶対に使わない方がいい
そして確かにanyはdynamicに近いものと考えて良い
型の堅牢性などを享受するためにTypeScriptを使用しているはずなのに、anyを持ち出せばそれが途端に失われるから絶対に使わない方がいい
そして確かにanyはdynamicに近いものと考えて良い
210デフォルトの名無しさん
2022/12/16(金) 22:10:24.90ID:Hm0gKYO4 TypeScriptに対する理解が浅いのはともかくC#の理解もそんな程度だったのかこのコテ
212.NET MAUI HighSchool
2022/12/17(土) 00:22:25.11ID:WFRGIGZB dynamic型は次の値を入れたらその型に変わる
例えば
dynamic x="おはよう"
dynamic x=123
でも大丈夫なわけ
anyは型の再代入ができないって見たけど?これdynamic型なの?
例えば
dynamic x="おはよう"
dynamic x=123
でも大丈夫なわけ
anyは型の再代入ができないって見たけど?これdynamic型なの?
213デフォルトの名無しさん
2022/12/17(土) 00:38:58.67ID:1fKT+2Wj >>178程度の理解のヤツに何を説明しても無駄よ
214デフォルトの名無しさん
2022/12/17(土) 00:50:14.95ID:/cYfBcZ5 >>212
流石にこれは触っちゃいけないレベル
流石にこれは触っちゃいけないレベル
215デフォルトの名無しさん
2022/12/17(土) 00:55:05.65ID:Q7rx/k0e anyはまさにJavaScriptの元々の変数の扱い様そのもの。
216.NET MAUI HighSchool
2022/12/17(土) 01:46:39.51ID:WFRGIGZB217デフォルトの名無しさん
2022/12/17(土) 01:54:57.82ID:Q7rx/k0e 目的が違うんだよ。C#ではTypeScriptのようなことは出来ない。
良い意味でも悪い意味でもJavaScriptのスーパーセットかつトランスパイラである必要があるんだから。
ただTypeScriptが将来C#でやってることを概ね肩代わりすることは可能だったりはするんだけどね.netライブラリをそのまま動かすように改変していくことも障害は少ない。
良い意味でも悪い意味でもJavaScriptのスーパーセットかつトランスパイラである必要があるんだから。
ただTypeScriptが将来C#でやってることを概ね肩代わりすることは可能だったりはするんだけどね.netライブラリをそのまま動かすように改変していくことも障害は少ない。
218デフォルトの名無しさん
2022/12/17(土) 02:13:01.40ID:dtBkzR03 そいつにかまうなよ
あちこちの言語やフレームワークスレに乗り込んでは意味不明な喧嘩売って
C#マンセーMAUIマンセーしてるだけの荒らし
あちこちの言語やフレームワークスレに乗り込んでは意味不明な喧嘩売って
C#マンセーMAUIマンセーしてるだけの荒らし
219デフォルトの名無しさん
2022/12/17(土) 03:00:17.54ID:7f5jCiop 再代入と型は関係ないだろ
見た感じC#も満足に使えてないじゃん
見た感じC#も満足に使えてないじゃん
220.NET MAUI HighSchool
2022/12/17(土) 04:20:14.04ID:WFRGIGZB221デフォルトの名無しさん
2022/12/17(土) 08:49:17.76ID:J7I3yK2m222.NET MAUI HighSchool
2022/12/17(土) 11:38:05.95ID:WFRGIGZB223デフォルトの名無しさん
2022/12/17(土) 12:01:06.61ID:d07Wp+U/224.NET MAUI HighSchool
2022/12/17(土) 12:25:09.54ID:EKmrQGNL >>223
そういう決まった名前無いけどdynamic型は型を変えれるからそう言ってる
そういう決まった名前無いけどdynamic型は型を変えれるからそう言ってる
225.NET MAUI HighSchool
2022/12/17(土) 12:25:55.57ID:EKmrQGNL つまりletがvarでanyがdynamicってことか
226デフォルトの名無しさん
2022/12/17(土) 12:32:09.45ID:AZCBrKeq ここでもバカ晒してるのかよw
227.NET MAUI HighSchool
2022/12/17(土) 12:38:11.73ID:WFRGIGZB >>226
何いってんだこいつ?
何いってんだこいつ?
228デフォルトの名無しさん
2022/12/17(土) 12:56:35.19ID:d07Wp+U/ >>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
変数の型を推論に任せるときは型指定を省略する
説明の仕方が悪かったか
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.19ID:WFRGIGZB >>228
なるほど理解したサンクス
なるほど理解したサンクス
230デフォルトの名無しさん
2022/12/17(土) 18:19:24.77ID:EAGB3+7T なんでぽまいらはC#の話をしているんだ?
231.NET MAUI HighSchool
2022/12/17(土) 18:58:14.82ID:WFRGIGZB anyはネタにされるけどvarはネタにされないなと思ってさ
まぁ勘違いだったんだけどね
まぁ勘違いだったんだけどね
232デフォルトの名無しさん
2022/12/17(土) 19:14:45.81ID:ETb1szGB なぜanyがネタにされたり忌み嫌われたりするのかはその機能だけ見ても分からんだろうね
言語特有の背景を理解してこそ
https://qiita.com/uhyo/items/aae57ba0734e36ee846a
言語特有の背景を理解してこそ
https://qiita.com/uhyo/items/aae57ba0734e36ee846a
233デフォルトの名無しさん
2022/12/17(土) 20:38:09.95ID:/cYfBcZ5 any無しはJSONの扱いが面倒臭過ぎるんだよなあ
必要に応じて型のランタイムチェックを入れてキャストできる機能さえあれば格段に便利になるんだが
必要に応じて型のランタイムチェックを入れてキャストできる機能さえあれば格段に便利になるんだが
234デフォルトの名無しさん
2022/12/17(土) 20:55:50.21ID:AZCBrKeq ユーザー定義型ガードで足りると思うが
235デフォルトの名無しさん
2022/12/21(水) 14:23:05.41ID:FWjNfdlT JSONだろうがanyを許すな。Zodとか使うのだ
236デフォルトの名無しさん
2023/01/03(火) 23:03:14.80ID:6VbKu+1R pythonを書いていると型縛りが馬鹿らしくなる
237デフォルトの名無しさん
2023/01/03(火) 23:51:28.97ID:FIKRmyvH JavaScriptを書いていると型縛りが馬鹿らしくなる
みんながそう思ってたらTypeScriptは生まれてこなかっただろうね
みんながそう思ってたらTypeScriptは生まれてこなかっただろうね
238デフォルトの名無しさん
2023/01/04(水) 00:03:33.25ID:eKtKRLft 型なんて要らねーとか言ってるのは、ほぼ1人でコーディングしてる奴
まぁ、実際1人でなら要らないかも知れない
これが複数人でコーディングする事になると、他人が実装した関数にどんなデータを渡していいか全然分からない
その為にTypeScriptがある
まぁ、実際1人でなら要らないかも知れない
これが複数人でコーディングする事になると、他人が実装した関数にどんなデータを渡していいか全然分からない
その為にTypeScriptがある
239デフォルトの名無しさん
2023/01/04(水) 00:08:02.09ID:PCFpglko 型がない方が縛りプレイだろ
240デフォルトの名無しさん
2023/01/04(水) 00:44:19.33ID:B1scSs4x JavaScriptは引数の数すらチェックされない上に暗黙の変換にundefined/null/NaNと昔はブロックスコープもなくてバグの温床てんこ盛りだったからやろ
intとかStringとかのベーシックな型を書きまくつてるコードを見ると欠陥言語だなと思う
intとかStringとかのベーシックな型を書きまくつてるコードを見ると欠陥言語だなと思う
241デフォルトの名無しさん
2023/01/04(水) 09:28:28.37ID:77WW46pZ >>239
縛り方を間違うと死ぬからな
縛り方を間違うと死ぬからな
242デフォルトの名無しさん
2023/01/04(水) 10:15:30.84ID:y9fxcgcU Flow「…」
レスを投稿する
ニュース
- 【芸能】『バンダイナムコフェス』上海公演 日本人歌手・大槻マキが歌唱中に強制退場… 急に音を止められスタッフらしき人達に [冬月記者★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★6 [ぐれ★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 [ぐれ★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★2 [ぐれ★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★5 [ぐれ★]
- 美少女になりたい
- お前らに小田急足柄からJR足柄まで歩いて乗り換える罰をあたえる
- ブラックフライデーセールで色々見て回って冷静に考えて「まあ、いらないよな・・」ってなる奴〜〜〜www
- 書ける時に書いとく
- 無能僕、わからない仕事を先輩に聞くのがめんどくさすぎて期限が過ぎそう
- モーニングかめはめ波をかます(成功率100%)
