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/
TypeScript part3
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/04/26(木) 21:48:23.07ID:mMDBzDaB189デフォルトの名無しさん
2019/02/17(日) 16:04:02.49ID:D60SxZ1Q190デフォルトの名無しさん
2019/02/17(日) 16:11:02.99ID:YF9uE98b そんな誰でもわかってることで得意げになってるのが恥ずかしい
一合目で山に登ったつもりになってる感じ
みんなもっと上にいるから!
一合目で山に登ったつもりになってる感じ
みんなもっと上にいるから!
191デフォルトの名無しさん
2019/02/18(月) 11:46:04.18ID:+IiOz1o3 動的型と静的型では型の目的が違うことを理解していないらしいな
192デフォルトの名無しさん
2019/02/18(月) 23:46:52.94ID:tCwq3WHG 昔は動的型付け言語と静的型付け言語って対義語みたいに思ってたけど、
TypeScriptやってみたら単純な二元論じゃないって気付かされた。
TypeScriptやってみたら単純な二元論じゃないって気付かされた。
193デフォルトの名無しさん
2019/02/19(火) 21:50:14.71ID:UOAs3sqY そう対義語じゃない、分かりやすい表現だなぁ
本当に型が無いのはアセンブリ言語で、全てが整数になっててそれをどう解釈するかは本当に人間次第だからな
本当に型が無いのはアセンブリ言語で、全てが整数になっててそれをどう解釈するかは本当に人間次第だからな
194デフォルトの名無しさん
2019/02/20(水) 19:06:49.04ID:v7iPz90J Cのunionもそういう意味では何でもあり
195デフォルトの名無しさん
2019/02/20(水) 19:08:18.41ID:hK+DOQws そういうのを昔の人は「型あって型なし」と言ったのだ
196デフォルトの名無しさん
2019/02/21(木) 14:36:31.18ID:BCvd3Fow 同じファイルの書き込み処理なんかをRubyが5行で書けて、Javaが15行とかで書いて、いかにJavaが駄目かってブログ記事がはてなブックマークとかでよくバズってたな
声のでかい人はいつでもいる
声のでかい人はいつでもいる
197デフォルトの名無しさん
2019/02/22(金) 14:01:01.67ID:w8nQWD0s るbyなら一行で描かないと負け
198デフォルトの名無しさん
2019/02/23(土) 02:18:28.49ID:+i56xIDn Javascriptのthisというか変数スコープが厄介でHaxeやってるけど
Typescriptはその辺の問題点引き継いでる?
Typescriptはその辺の問題点引き継いでる?
199デフォルトの名無しさん
2019/02/23(土) 03:19:51.50ID:R2s6jSV3 「thisというか変数スコープ」?
分かってないことは分かった。
お前はどの言語やっても大成しない。
分かってないことは分かった。
お前はどの言語やっても大成しない。
200デフォルトの名無しさん
2019/02/23(土) 08:32:08.65ID:DQY5g4De JavaScript(JS)/TypeScript(TS) のthis は、おかしい!
一方、jQuery, Haxe は、それを修正してる
また、JS/TS の== は危険だから、使っちゃいけない!
厳密等価演算子=== を使うべき!
一方、Haxe, Ruby は、== でOK
Haxe には、マクロ、引数つき列挙(enum)、代数的データ型、パターンマッチ、マルチプラットフォームがあるけど、TS には無い。
特に、switch 文での、enum が強力!
引数の型で分岐できるから、インタフェースと同等!
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Haxeプログラミング入門、尾野政樹、2015
Haxe は、Elixir に似てね?
プログラミングElixir、2016
一方、jQuery, Haxe は、それを修正してる
また、JS/TS の== は危険だから、使っちゃいけない!
厳密等価演算子=== を使うべき!
一方、Haxe, Ruby は、== でOK
Haxe には、マクロ、引数つき列挙(enum)、代数的データ型、パターンマッチ、マルチプラットフォームがあるけど、TS には無い。
特に、switch 文での、enum が強力!
引数の型で分岐できるから、インタフェースと同等!
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Haxeプログラミング入門、尾野政樹、2015
Haxe は、Elixir に似てね?
プログラミングElixir、2016
201デフォルトの名無しさん
2019/02/23(土) 10:27:04.01ID:apHI25Q1 thisや==は今ならeslint/tslint任せでほとんど問題ないね。
引数付きenumはようはUnion Typeだし、代数的データ型はTagged Union Typeかな。
パターンマッチそのものはないけどType Guardで似たようなことができる。
マクロとマルチプラットフォームはさすがにないな。
引数付きenumはようはUnion Typeだし、代数的データ型はTagged Union Typeかな。
パターンマッチそのものはないけどType Guardで似たようなことができる。
マクロとマルチプラットフォームはさすがにないな。
202デフォルトの名無しさん
2019/02/23(土) 11:20:14.57ID:R2s6jSV3 haxe?ああtsに負けて滅んだ言語かw
203デフォルトの名無しさん
2019/02/23(土) 11:24:28.53ID:ks3X52WF 弊社、ガイジが導入したhaxeが完全な負の遺産化しててうんざりするわ
死ねとまでは思わないけど、産まれてこなければよかったのに
死ねとまでは思わないけど、産まれてこなければよかったのに
204デフォルトの名無しさん
2019/02/23(土) 11:27:21.05ID:rwRcja1T thisはそもそも使う必要がない
jQueryとか昔のライブラリを使うとthisを使わざるを得なくなって混乱する
変数スコープの問題は多分変数の巻き上げの事だと思うけど、TypeScriptは変数を宣言する前にアクセスはエラーだから変数スコープの問題は無い
jQueryとか昔のライブラリを使うとthisを使わざるを得なくなって混乱する
変数スコープの問題は多分変数の巻き上げの事だと思うけど、TypeScriptは変数を宣言する前にアクセスはエラーだから変数スコープの問題は無い
205デフォルトの名無しさん
2019/02/23(土) 12:07:09.04ID:Y+/6FGBc 言語でマルチプラットフォームってどゆこと?
206デフォルトの名無しさん
2019/02/24(日) 19:32:04.72ID:iK4D+UQi 一般にバイナリ互換のこと。
スクリプト言語はソースコード=バイナリ扱いだが。
Qtとかのライブラリはソース互換やね。
そのライブラリと標準ライブラリ使う分にはマルチプラットフォーム。
スクリプト言語はソースコード=バイナリ扱いだが。
Qtとかのライブラリはソース互換やね。
そのライブラリと標準ライブラリ使う分にはマルチプラットフォーム。
207デフォルトの名無しさん
2019/03/27(水) 22:29:10.88ID:ZMj2RB3N TypeScriptのリテラル型を知って目から鱗だったんだけど、元ネタってどこなのかな?
TypeScript以前に採用していた言語とかある?
TypeScript以前に採用していた言語とかある?
208デフォルトの名無しさん
2019/03/28(木) 08:22:20.68ID:XxNMz1Hs https://www.infoq.com/jp/news/2019/03/typescript-3-3-release
Flowは,少なくともこの分析を実施した1年前には,Facebookによって極めて閉鎖的な方法で進められていた言語です。
開発はまったく透過的ではなく,ロードマップも公開されていませんでした。
プロジェクトへのコントリビューションは,Facebook以外からはほとんどありませんでした。
対照的にTypeScriptは,数年前にGitHubに移動して以降はオープンソース開発を採用しています。
最新のロードマップを公開し,外部からのコントリビューションを受け入れ,全般的にコミュニティとの密接な関係を維持しています。
Flowオープンソースはほぼ放置されているので,現時点ではTypeScriptに切り替えた方がよいと思います。
このような懸念に対してFlowチームは,現在の進捗状況と2019年計画の見直しによる対処を始めている。
この概要の中で,FacebookのソフトウェアエンジニアであるAvik Chaudhuri氏は,FlowからTypeScriptへの移行について取り上げている。
最近,Facebookを起源とするオープンソースプロジェクトの多くが,TypeScriptでのリライト計画を発表しています。
Facebookでは個々のチームの独立性を強く尊重しており,各チームがロードマップを作成し,
開発中のプロダクトに対して最大限の努力を払っています。TypeScriptへの切り替えを決定したプロジェクトは,
この切り替えによって外部コントリビュータによる支援をより多く受けられるようになります。私たちはこの決定を尊重します。
Flowは,少なくともこの分析を実施した1年前には,Facebookによって極めて閉鎖的な方法で進められていた言語です。
開発はまったく透過的ではなく,ロードマップも公開されていませんでした。
プロジェクトへのコントリビューションは,Facebook以外からはほとんどありませんでした。
対照的にTypeScriptは,数年前にGitHubに移動して以降はオープンソース開発を採用しています。
最新のロードマップを公開し,外部からのコントリビューションを受け入れ,全般的にコミュニティとの密接な関係を維持しています。
Flowオープンソースはほぼ放置されているので,現時点ではTypeScriptに切り替えた方がよいと思います。
このような懸念に対してFlowチームは,現在の進捗状況と2019年計画の見直しによる対処を始めている。
この概要の中で,FacebookのソフトウェアエンジニアであるAvik Chaudhuri氏は,FlowからTypeScriptへの移行について取り上げている。
最近,Facebookを起源とするオープンソースプロジェクトの多くが,TypeScriptでのリライト計画を発表しています。
Facebookでは個々のチームの独立性を強く尊重しており,各チームがロードマップを作成し,
開発中のプロダクトに対して最大限の努力を払っています。TypeScriptへの切り替えを決定したプロジェクトは,
この切り替えによって外部コントリビュータによる支援をより多く受けられるようになります。私たちはこの決定を尊重します。
209デフォルトの名無しさん
2019/03/31(日) 08:32:04.33ID:9gmhFJUR Announcing TypeScript 3.4
https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/
https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/
210デフォルトの名無しさん
2019/04/27(土) 22:21:18.33ID:DaKsj35I export default Vue;
export as namespace Vue;
型定義が↑だとjsのスクリプトモード(import なし)で↓のようにvscode認識してしまって悲しい
new Vue(); // NG
new Vue.default(); // OK
export default Vue じゃなくて export = Vue なら大丈夫っぽいんだが
export as namespace Vue;
型定義が↑だとjsのスクリプトモード(import なし)で↓のようにvscode認識してしまって悲しい
new Vue(); // NG
new Vue.default(); // OK
export default Vue じゃなくて export = Vue なら大丈夫っぽいんだが
211デフォルトの名無しさん
2019/04/27(土) 23:00:39.62ID:f59bAkpS Vueなんてゴミ使ってるのが悪い
212デフォルトの名無しさん
2019/05/07(火) 14:32:47.27ID:L9HTQYS7 質問なんですが、
interface TypeMap<T> {
a: number
b: string
c: T
}
declare function test<T, K extends keyof TypeMap<T>>(arg: K): TypeMap<T>[K]
test("b")
test<number, "c">("c")
↑
これをtest<number>("c")って書けるfunction testの定義の仕方ってあります?
interface TypeMap<T> {
a: number
b: string
c: T
}
declare function test<T, K extends keyof TypeMap<T>>(arg: K): TypeMap<T>[K]
test("b")
test<number, "c">("c")
↑
これをtest<number>("c")って書けるfunction testの定義の仕方ってあります?
213デフォルトの名無しさん
2019/05/10(金) 03:36:53.56ID:lySswCnH ついにunion distributionを理解してしまった
214デフォルトの名無しさん
2019/05/20(月) 18:15:00.44ID:VITeHWYT TS3のunknown型いいな。
てかany入れずに最初からこれにしとけや。
てかany入れずに最初からこれにしとけや。
215デフォルトの名無しさん
2019/05/20(月) 23:15:37.00ID:F98TWhut esの上位互換である以上anyは無きゃいかんだろう。
216デフォルトの名無しさん
2019/05/22(水) 08:13:28.81ID:hKcnqksZ unknownからの簡単にキャストできるような値ばかりなら、確かにanyはいらんかったろうな
217デフォルトの名無しさん
2019/05/30(木) 08:25:00.89ID:nLvOZq4e Announcing TypeScript 3.5
https://devblogs.microsoft.com/typescript/announcing-typescript-3-5/
https://devblogs.microsoft.com/typescript/announcing-typescript-3-5/
218デフォルトの名無しさん
2019/05/31(金) 23:01:09.01ID:a9j+ivtb TSも知らんフロントエンドエンジニアとか死んでほしいわ
219デフォルトの名無しさん
2019/06/01(土) 00:45:31.22ID:MTpxg6Tq 知ってるだけでデカい顔してるフロントエンドエンジニアも死んで欲しいわ
220デフォルトの名無しさん
2019/06/01(土) 16:36:48.07ID:g95cx8x2 ts知ってるだけででかい面できるってどんな現場だよ
221デフォルトの名無しさん
2019/06/01(土) 19:04:47.55ID:+itGqD4a それくらい世界はまだJSの悲しみに満ちているってことさ
救ってあげようよ、僕らで
救ってあげようよ、僕らで
222デフォルトの名無しさん
2019/06/01(土) 19:52:58.38ID:4hNhVGGP お前だれだよ
223デフォルトの名無しさん
2019/06/01(土) 20:56:08.22ID:TTPVYQ4N strictNullChecksをtureにしてる人いる??
ロジックではnull禁止できるけどさ、
dbからgetしたデータに混じるんだよね。
未入力状態のデータって奴。
null撲滅マスターの方は、どう解決してるの??
ロジックではnull禁止できるけどさ、
dbからgetしたデータに混じるんだよね。
未入力状態のデータって奴。
null撲滅マスターの方は、どう解決してるの??
224デフォルトの名無しさん
2019/06/01(土) 20:58:48.44ID:+itGqD4a それはDBの設計が腐ってるし、unknown | null型なんだろ
ロジックが間違ってる
ロジックが間違ってる
225デフォルトの名無しさん
2019/06/02(日) 11:14:24.16ID:567ijWyR そもそも、実行時にnullやundefinedが混じるという話とstrictNullChecksに直接の関係はないだろ。
その中間のどこかで困っているんだろうけど、それがわからないとなんとも。
その中間のどこかで困っているんだろうけど、それがわからないとなんとも。
226デフォルトの名無しさん
2019/06/02(日) 11:38:18.31ID:nWi1j94r nullableなfieldをgetしたらそりゃnullableでしょ
227デフォルトの名無しさん
2019/06/05(水) 02:53:11.94ID:QtDGLGvu Visual Studio Code でAngularの勉強をしているのですが、
TypeScriptのthisがどこのコードを参照しているのかイマイチ理解できていません。
このthisをマウスオーバーしたら参照先のコードを表示してくれる拡張機能はありませんか・・・?
現状ですとthisにマウスオーバーをすると this:this と表示されます
TypeScriptのthisがどこのコードを参照しているのかイマイチ理解できていません。
このthisをマウスオーバーしたら参照先のコードを表示してくれる拡張機能はありませんか・・・?
現状ですとthisにマウスオーバーをすると this:this と表示されます
228デフォルトの名無しさん
2019/06/05(水) 08:05:19.27ID:a1ZirxB/ Angular自体糞だからやめとけ
229デフォルトの名無しさん
2019/06/05(水) 08:30:28.74ID:gaDZjJ4I vueをやるんだ
230デフォルトの名無しさん
2019/06/07(金) 22:14:26.23ID:GySnd9K9 みんな、質問。
TSって公式のスタイルガイド無いけど、
みんな何使ってる?
正直googleのは末尾カンマが受け付けない。。
TSって公式のスタイルガイド無いけど、
みんな何使ってる?
正直googleのは末尾カンマが受け付けない。。
231デフォルトの名無しさん
2019/06/07(金) 22:21:16.75ID:POgNcTtv prettierで終わり
受け付けないもクソもない
おまえのスタイルは全てクソで、prettierを信じろ
受け付けないもクソもない
おまえのスタイルは全てクソで、prettierを信じろ
232デフォルトの名無しさん
2019/06/10(月) 00:34:38.75ID:pNMWMTmc233デフォルトの名無しさん
2019/06/10(月) 07:11:15.54ID:s0ANUlh8234デフォルトの名無しさん
2019/06/10(月) 07:12:37.13ID:s0ANUlh8 semi: false,
だけは本当に極稀に問題になるから、設定しなくてもいい
目障りだから俺は設定するけどね
だけは本当に極稀に問題になるから、設定しなくてもいい
目障りだから俺は設定するけどね
235デフォルトの名無しさん
2019/06/13(木) 17:34:43.34ID:3ecrlnnk >>233, 234
ありがとう!試してみる!
ありがとう!試してみる!
236デフォルトの名無しさん
2019/06/15(土) 19:57:13.61ID:60xjKXFz const x = { a: 'b' };
この x の型は { a: string } になってしまうみたいだけど、 { a: 'b' } 型にする方法ってないんでしたっけ?
TypeScript 3.5です。
この x の型は { a: string } になってしまうみたいだけど、 { a: 'b' } 型にする方法ってないんでしたっけ?
TypeScript 3.5です。
237デフォルトの名無しさん
2019/06/15(土) 20:04:24.55ID:v9vM6Xqi const x: { a:'b' } = { a: 'b' };
238デフォルトの名無しさん
2019/06/15(土) 20:10:32.39ID:60xjKXFz const x = { a: 'b' as 'b' }; もいけるみたいだけど冗長だなぁ。
239デフォルトの名無しさん
2019/06/15(土) 20:14:03.78ID:LRsRofRH as const
240デフォルトの名無しさん
2019/06/15(土) 20:32:57.50ID:60xjKXFz >>239
ありがとう!これだ。
ありがとう!これだ。
241デフォルトの名無しさん
2019/06/15(土) 22:08:42.82ID:B5XNjjWA デフォルトで全部 as const にするオプションとかあればいいのに
242デフォルトの名無しさん
2019/06/21(金) 19:39:39.40ID:NhtzQec8 今日の疲れやばい
243デフォルトの名無しさん
2019/06/21(金) 19:42:13.96ID:NhtzQec8 anyを許すルールにするっつったら
「でもapiからくる値なら全て型定義できますよね?」
って言われたことにものすごい疲れた
完璧なappなんかねーんだよ!!!ってキレそうだったわ
「でもapiからくる値なら全て型定義できますよね?」
って言われたことにものすごい疲れた
完璧なappなんかねーんだよ!!!ってキレそうだったわ
244デフォルトの名無しさん
2019/06/21(金) 19:42:54.97ID:NhtzQec8 一生インターフェース書いてろ!
245デフォルトの名無しさん
2019/06/22(土) 13:59:29.40ID:cvRfxwEO そこでunkownですよ
246デフォルトの名無しさん
2019/06/22(土) 14:09:53.49ID:lgEn1aKj unknown確か途中で足されたよな。最初から入れとけおもた。
247デフォルトの名無しさん
2019/06/22(土) 15:50:14.82ID:cvRfxwEO みんあなはallow any 派?
248デフォルトの名無しさん
2019/06/22(土) 18:02:27.27ID:WCwRyrQC >>247
許容派です。
再帰処理とかをまともに型付してたら、辛すぎる。。
ちなみに
const arr = []
で、never[]型になるのがしんどい。
設定でany[]型にならないでしょうか・・?
許容派です。
再帰処理とかをまともに型付してたら、辛すぎる。。
ちなみに
const arr = []
で、never[]型になるのがしんどい。
設定でany[]型にならないでしょうか・・?
249デフォルトの名無しさん
2019/06/22(土) 20:42:33.24ID:vT6NYB6v 明示的に型を書けばいいじゃん
250デフォルトの名無しさん
2019/06/22(土) 22:04:34.45ID:1mmW7z7g てかリテラルの [] が never[] になんかなる?
251デフォルトの名無しさん
2019/06/23(日) 13:58:34.11ID:iaXcaTkq eslint が v6.0.0 になったら @typescript-eslint/parser が読み込めなくなった
とりあえず issue をみて ./node_modules/@typescript-eslint/parser/dist/parser.js で
require("eslint/lib/util/traverser")
↓
require("eslint/lib/shared/traverser")
でやり過ごしてる
とりあえず issue をみて ./node_modules/@typescript-eslint/parser/dist/parser.js で
require("eslint/lib/util/traverser")
↓
require("eslint/lib/shared/traverser")
でやり過ごしてる
252デフォルトの名無しさん
2019/06/24(月) 11:41:32.01ID:218UFAwP この研究によるとTypeScriptは最もバグ発生率が低い言語なんだけどその理由とか体感とかありますか?
https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf
>TypeScript −1.32 (0.40)∗∗ −2.15 (0.98)∗ −1.34 (0.41)∗∗ −0.34 (0.07)∗∗∗
https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf
>TypeScript −1.32 (0.40)∗∗ −2.15 (0.98)∗ −1.34 (0.41)∗∗ −0.34 (0.07)∗∗∗
253デフォルトの名無しさん
2019/06/24(月) 11:46:37.72ID:eHWTfFeZ コンパイラにバグが無い
コンパイル中にコードのバグは発見出来る
アルゴリズムのバグは知らんがな
コンパイル中にコードのバグは発見出来る
アルゴリズムのバグは知らんがな
254デフォルトの名無しさん
2019/06/24(月) 21:38:49.72ID:RR0ut14u TypeScriptで書いたプロダクトにバグが少ないのか、TypeScriptコンパイラにバグが少ないのか、どっちよ?
255デフォルトの名無しさん
2019/06/24(月) 21:39:48.85ID:RR0ut14u あと今土器pdfなんかで出すなよボケカス
日本語翻訳使えないだろが
日本語翻訳使えないだろが
256デフォルトの名無しさん
2019/06/24(月) 21:52:09.72ID:RR0ut14u TS >>> JS
という話なら圧倒的同意しかないのだが
https://www.reddit.com/r/typescript/comments/aofcik/38_of_bugs_at_airbnb_could_have_been_prevented_by/
他の言語と比べてどうこうはわからん
あと動的型無し糞言語がゴミというのも同意
という話なら圧倒的同意しかないのだが
https://www.reddit.com/r/typescript/comments/aofcik/38_of_bugs_at_airbnb_could_have_been_prevented_by/
他の言語と比べてどうこうはわからん
あと動的型無し糞言語がゴミというのも同意
257デフォルトの名無しさん
2019/06/25(火) 18:21:53.19ID:Cc6pu6kp258デフォルトの名無しさん
2019/06/25(火) 20:19:43.86ID:VFPzRDke C#と大して変わらんのにバグが少なくなるって根拠がよく分からん
JavaScript上がりのプログラマが使うことが多いから良く訓練されているってのが考えられる根拠だなw
JavaScript上がりのプログラマが使うことが多いから良く訓練されているってのが考えられる根拠だなw
259デフォルトの名無しさん
2019/06/25(火) 23:32:40.42ID:AQeJL9YJ ユーザのリテラシが高いが後押ししてるのはありえそうだな
phpあたりは言語もユーザもガイジだからかわいそう
phpあたりは言語もユーザもガイジだからかわいそう
260デフォルトの名無しさん
2019/06/26(水) 00:17:43.45ID:+9DnWsFD JavaScriptは初心者が触るには最悪の言語と言っても過言ではないないから、ありとあらゆるバグを出して大変な目に遭ったプログラマがTypeScriptを使うことになると、バグも少なくなるだろうなという意味だよ
261デフォルトの名無しさん
2019/06/26(水) 00:40:51.84ID:q5HP9tQR つか論文?の表の見方がわからんのだが
262デフォルトの名無しさん
2019/06/26(水) 00:41:37.75ID:q5HP9tQR よくよく読んだら、ほんとは一番バグが多かったとかいうオチ??
263デフォルトの名無しさん
2019/06/26(水) 00:45:17.97ID:f1MF/JvG スレッドがないとかポインタがないとかでできないことがある分バグも減るでしょ
264デフォルトの名無しさん
2019/06/26(水) 00:49:58.46ID:q5HP9tQR >>263
できないことだらけにしたGoさんはどうなりましたか・・・?
できないことだらけにしたGoさんはどうなりましたか・・・?
265デフォルトの名無しさん
2019/06/26(水) 09:13:51.70ID:qk5ECIA8 このスレの住人なら当然ターミナルはコレだよな!
Terminus - TypeScript製のターミナル
https://www.moongift.jp/2019/06/terminus-typescript%E8%A3%BD%E3%81%AE%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB
Terminus - TypeScript製のターミナル
https://www.moongift.jp/2019/06/terminus-typescript%E8%A3%BD%E3%81%AE%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB
266デフォルトの名無しさん
2019/06/26(水) 12:25:57.23ID:7Ob4FOl6 >>264
Web画面なんて壊れてても気にしないからコミット取り消さないし
そもそも画面実装とかサーバに比べて問題の範囲が限定的でたいして難しくないだろ
最初から扱ってる問題が言語ごとにちがうんだ
この表ってか論文で一緒にしてるのおかしい
あ、型なし言語はあかんと思います
Web画面なんて壊れてても気にしないからコミット取り消さないし
そもそも画面実装とかサーバに比べて問題の範囲が限定的でたいして難しくないだろ
最初から扱ってる問題が言語ごとにちがうんだ
この表ってか論文で一緒にしてるのおかしい
あ、型なし言語はあかんと思います
267デフォルトの名無しさん
2019/06/26(水) 16:21:39.07ID:b+WM9Si2 確かにCとかC++は基礎的なソフトに使われるから
僅かなバグも絶対に許されないとこありそう
それ以外にポインタ使ってるからってのもあるだろうけど
僅かなバグも絶対に許されないとこありそう
それ以外にポインタ使ってるからってのもあるだろうけど
268デフォルトの名無しさん
2019/06/29(土) 10:08:56.36ID:/kbU3u2K >>266
動画の新しいエンコーダ作るとか、プログラムじゃなくて数学のレベルを求められる仕事は置いといて、
webならフロントの方がよっぽど複雑じゃない?
バックなんて同期処理でお決まりのレールに乗ってダラダラ書いてくだけだし。
複雑でパフォーマンスが要求されるpwaとか、typescript無かったら絶対に完成する気しないわ。
カオス過ぎる
動画の新しいエンコーダ作るとか、プログラムじゃなくて数学のレベルを求められる仕事は置いといて、
webならフロントの方がよっぽど複雑じゃない?
バックなんて同期処理でお決まりのレールに乗ってダラダラ書いてくだけだし。
複雑でパフォーマンスが要求されるpwaとか、typescript無かったら絶対に完成する気しないわ。
カオス過ぎる
269デフォルトの名無しさん
2019/06/29(土) 10:25:06.32ID:Kp+ip4R/ js/tsだけどダイアログとか出すときに
モードレスにした方がユーザーには使い易いのに
バグが増えそうだからモードレス禁止ってことで
全部モーダルで造らされたことがある
モードレスにした方がユーザーには使い易いのに
バグが増えそうだからモードレス禁止ってことで
全部モーダルで造らされたことがある
270デフォルトの名無しさん
2019/06/29(土) 19:29:55.34ID:pedxXkW2 型の判定の正しい手順ってどうだっけ?5行目で引っかかってしまう。
function isMyType(o: unknown): o is MyType {
if (typeof o !== 'object') { return false; }
if (!o) { return false; }
if (!('key' in o)) { return false; }
if (!o.key) { return false; } // ts7053
return true;
}
function isMyType(o: unknown): o is MyType {
if (typeof o !== 'object') { return false; }
if (!o) { return false; }
if (!('key' in o)) { return false; }
if (!o.key) { return false; } // ts7053
return true;
}
271デフォルトの名無しさん
2019/06/29(土) 23:44:35.08ID:rJpz/Ysh ひえっ…
typescript使う意味あるのこれ
typescript使う意味あるのこれ
272デフォルトの名無しさん
2019/06/30(日) 01:10:38.25ID:7Llu84Qc そりゃTypeScriptだって魔法じゃないんだから。
すごいのは外部から渡された得体の知れない値をこうやって動的に型判定して
それを静的な型の世界に持ち込めるところ。
すごいのは外部から渡された得体の知れない値をこうやって動的に型判定して
それを静的な型の世界に持ち込めるところ。
273デフォルトの名無しさん
2019/06/30(日) 01:36:24.68ID:y+UHg1Q8 ts知らないけど処理系がロード済みの型一覧を取得できないの
274デフォルトの名無しさん
2019/06/30(日) 02:09:58.63ID:uFOYv7Ak unknownじゃなくてanyでいいでしょ
275デフォルトの名無しさん
2019/07/01(月) 22:30:11.88ID:VQESBdFl276デフォルトの名無しさん
2019/07/01(月) 23:18:57.13ID:yt2EFQVJ user defined type guard function でググれ。
277デフォルトの名無しさん
2019/07/02(火) 04:58:55.57ID:uMGeffjZ278デフォルトの名無しさん
2019/07/03(水) 22:40:20.89ID:HeNg6Q/2279デフォルトの名無しさん
2019/07/07(日) 08:52:11.33ID:eO4QC7Eh /* eslint-disable @typescript-eslint/explicit-function-return-type */
const mapDispatchToProps = (dispatch: TodoAsyncDispatch) => {
return {
fetchTodo: (id: TodoId) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
/* eslint-enable */
type ReduxDispatchProps = ReturnType<typeof mapDispatchToProps>
---
これをeslint-disableなしで実装する方法ってないですか?
例えば、↓こんな感じで「any」の部分が「型推論させる型」みたいにできる、とか。
redux-thunkの型付けが難しいお・・・
---
type MDTP = (dispatch: TodoAsyncDispatch) => any
const mapDispatchToProps2: MDTP = (dispatch) => {
return {
fetchTodo: (id: TodoId) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
type ReduxDispatchProps2 = ReturnType<typeof mapDispatchToProps2>
const mapDispatchToProps = (dispatch: TodoAsyncDispatch) => {
return {
fetchTodo: (id: TodoId) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
/* eslint-enable */
type ReduxDispatchProps = ReturnType<typeof mapDispatchToProps>
---
これをeslint-disableなしで実装する方法ってないですか?
例えば、↓こんな感じで「any」の部分が「型推論させる型」みたいにできる、とか。
redux-thunkの型付けが難しいお・・・
---
type MDTP = (dispatch: TodoAsyncDispatch) => any
const mapDispatchToProps2: MDTP = (dispatch) => {
return {
fetchTodo: (id: TodoId) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
type ReduxDispatchProps2 = ReturnType<typeof mapDispatchToProps2>
280デフォルトの名無しさん
2019/07/07(日) 09:34:19.15ID:z09Q0v8J その暗黙の推論を禁止するルールなんだから普通に考えたら無いよね。
型付けが難しい場合があるのはわかるけど、eslint-disableじゃだめな理由は?
全体として入れているチェックの例外を設けるなら後からその箇所がわかるように
しておかなきゃ困ると思うが。
型付けが難しい場合があるのはわかるけど、eslint-disableじゃだめな理由は?
全体として入れているチェックの例外を設けるなら後からその箇所がわかるように
しておかなきゃ困ると思うが。
281デフォルトの名無しさん
2019/07/07(日) 10:04:05.70ID:dCt2bUfG ジャネリック
282デフォルトの名無しさん
2019/07/07(日) 10:24:01.49ID:eO4QC7Eh >>280
型付け自体はそう難しくはないんだが、この2重定義感がだるくて。
mapDispatchToPropsに型ちゃんと書いてそこに集約したいというか。
---
type ReduxDispatchProps = {
fetchTodo: (id: TodoId) => Promise<void>
}
const mapDispatchToProps = (
dispatch: TodoAsyncDispatch
): ReduxDispatchProps => {
return {
fetchTodo: (id) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
---
> eslint-disableじゃだめな理由
mapDispatchToProps は書く頻度が高いから、あまり eslint-disable を撒き散らしたくない
とはいえ普通の function で explicit-function-return-type を false にしたくない
というお気持ち
やっぱ無理ッスかね
型付け自体はそう難しくはないんだが、この2重定義感がだるくて。
mapDispatchToPropsに型ちゃんと書いてそこに集約したいというか。
---
type ReduxDispatchProps = {
fetchTodo: (id: TodoId) => Promise<void>
}
const mapDispatchToProps = (
dispatch: TodoAsyncDispatch
): ReduxDispatchProps => {
return {
fetchTodo: (id) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
---
> eslint-disableじゃだめな理由
mapDispatchToProps は書く頻度が高いから、あまり eslint-disable を撒き散らしたくない
とはいえ普通の function で explicit-function-return-type を false にしたくない
というお気持ち
やっぱ無理ッスかね
283デフォルトの名無しさん
2019/07/07(日) 10:37:01.72ID:eO4QC7Eh >>281
どう書けばできそうですか?
どう書けばできそうですか?
284デフォルトの名無しさん
2019/07/07(日) 11:45:51.89ID:zsCaUS/w { allowExpressions: true }
285デフォルトの名無しさん
2019/07/07(日) 13:32:44.90ID:eO4QC7Eh >>284
既にこれで設定してます
---
"@typescript-eslint/explicit-function-return-type": [
"error",
{
allowExpressions: true,
allowTypedFunctionExpressions: true,
},
],
---
既にこれで設定してます
---
"@typescript-eslint/explicit-function-return-type": [
"error",
{
allowExpressions: true,
allowTypedFunctionExpressions: true,
},
],
---
286デフォルトの名無しさん
2019/07/10(水) 01:53:27.81ID:QsYN3Rs6 Nest.js使ってサーバサイドもts使ってる人いる?
287デフォルトの名無しさん
2019/07/17(水) 21:56:07.81ID:c89mzXrS むしろ整合性が求められるサーバーサイドでこそ活躍する
288デフォルトの名無しさん
2019/07/17(水) 23:22:52.24ID:ySrAQEz0 TSerならdenoでない?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
