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:mMDBzDaB781デフォルトの名無しさん
2021/01/25(月) 18:33:23.35ID:AK6f8agf c#以上にカオス…?
782デフォルトの名無しさん
2021/01/25(月) 22:54:08.93ID:+dPxUq7O 何倍も!
型の機能も遥かに高度だ!
型の機能も遥かに高度だ!
783デフォルトの名無しさん
2021/01/25(月) 23:03:58.08ID:+dPxUq7O784デフォルトの名無しさん
2021/01/25(月) 23:14:46.15ID:NBocXyOE JavaScriptというそび糞をまともにするためだ
しゃーない
しゃーない
785デフォルトの名無しさん
2021/01/26(火) 03:28:35.94ID:WX4s+KJB 型を半ば無理矢理付けてるだけで、最終的には型を削除したJavaScriptになる
要するに動的型言語というのは、それだけ豊富な表現力を秘めてると言うことだ
本来はそれと引き換えに実行速度が犠牲になるもんだが、VMのチューニングによりネイティブコードと遜色無いのが凄いところ
要するに動的型言語というのは、それだけ豊富な表現力を秘めてると言うことだ
本来はそれと引き換えに実行速度が犠牲になるもんだが、VMのチューニングによりネイティブコードと遜色無いのが凄いところ
786デフォルトの名無しさん
2021/01/26(火) 04:01:05.59ID:SEH/ccP0 後半まで読み進めると
おおおーー!ってなる。
https://html5experts-jp.cdn.ampproject.org/v/s/html5experts.jp/shumpei-shiraishi/24660/amp/?amp_gsa=1&amp_js_v=a6&usqp=mq331AQHKAFQArABIA%3D%3D#amp_tf=%251%24s%20%E3%82%88%E3%82%8A&aoh=16115828872772&csi=1&referrer=https%3A%2F%2Fwww.google.com&share=https%3A%2F%2Fhtml5experts.jp%2Fshumpei-shiraishi%2F24660%2F
protocol と 可変長型は c#で昔から
待望してた機能だ!
おおおーー!ってなる。
https://html5experts-jp.cdn.ampproject.org/v/s/html5experts.jp/shumpei-shiraishi/24660/amp/?amp_gsa=1&amp_js_v=a6&usqp=mq331AQHKAFQArABIA%3D%3D#amp_tf=%251%24s%20%E3%82%88%E3%82%8A&aoh=16115828872772&csi=1&referrer=https%3A%2F%2Fwww.google.com&share=https%3A%2F%2Fhtml5experts.jp%2Fshumpei-shiraishi%2F24660%2F
protocol と 可変長型は c#で昔から
待望してた機能だ!
787デフォルトの名無しさん
2021/01/26(火) 05:29:01.62ID:pU44oeo6788デフォルトの名無しさん
2021/01/26(火) 05:52:17.01ID:pU44oeo6789デフォルトの名無しさん
2021/01/26(火) 07:02:54.66ID:RzMbHMsq >>786
可変長型もう入ってなかったっけと思ったら3年前の記事か
可変長型もう入ってなかったっけと思ったら3年前の記事か
790デフォルトの名無しさん
2021/02/10(水) 08:45:05.84ID:F9HUbn2D TypeScript の型定義に凝りすぎじゃね?
https://neos21.net/blog/2021/02/09-02.html
アンサー: なぜTypeScriptの型定義に凝るのか
https://qiita.com/uhyo/items/3bc5f951f922804ede51
https://neos21.net/blog/2021/02/09-02.html
アンサー: なぜTypeScriptの型定義に凝るのか
https://qiita.com/uhyo/items/3bc5f951f922804ede51
791デフォルトの名無しさん
2021/02/10(水) 10:21:36.03ID:qX2MPAZ0 サードパーティライブラリの型定義に関しては、
定義書くのめんどくさそうなときは any で通してる
型定義あったほうが便利なのは確かなので、
作業自動化して楽にしてくれるツール出てくるとありがたいなと思ってる
インテリセンスの進化とか
あと、VS Code で、TypeScript の型定義読みにくすぎ、
ドキュメント書いてあること少なすぎ、JavaScript のコードに直接とべねーすぎ(?)
でも、こういうアーキテクチャに関する抽象的な議論って
個々の案件に落とし込まないと本質見えてこないことととか、
そもそも想定する状況が議論する相手と食い違ってることがあるから
GitHub にある具体例でも明示してくれると議論は捗るんじゃないかなと思う
定義書くのめんどくさそうなときは any で通してる
型定義あったほうが便利なのは確かなので、
作業自動化して楽にしてくれるツール出てくるとありがたいなと思ってる
インテリセンスの進化とか
あと、VS Code で、TypeScript の型定義読みにくすぎ、
ドキュメント書いてあること少なすぎ、JavaScript のコードに直接とべねーすぎ(?)
でも、こういうアーキテクチャに関する抽象的な議論って
個々の案件に落とし込まないと本質見えてこないことととか、
そもそも想定する状況が議論する相手と食い違ってることがあるから
GitHub にある具体例でも明示してくれると議論は捗るんじゃないかなと思う
792デフォルトの名無しさん
2021/02/10(水) 12:42:09.82ID:vAMcyE+N 弊社は障害者雇用枠しかいないのでPHPしか書けません並の駄文書いてる奴って
生きてて恥ずかしくないのかなって思っちゃう、ごめんね
生きてて恥ずかしくないのかなって思っちゃう、ごめんね
793デフォルトの名無しさん
2021/02/10(水) 14:59:14.96ID:J3IrN4Ey >>790
この人有名人なの?
個人ブログに対する反応としては量が多くて驚く
アンサーのほうは避けられない複雑性を
”複雑な型”で表現した場合としない場合のトレードオフについては
“消えてしまうことは無い”で濁してるだけで正面から回答してないよね
最初のブログの人も感覚的な話だからどっこいどっこいだけど
↓こういうのは頑張りすぎじゃねって感じる
type ArrayOfLengthRec<Num, Elm, T extends unknown[]> = T["length"] extends Num ? T : ArrayOfLengthRec<Num, Elm, [Elm, ...T]>
この人有名人なの?
個人ブログに対する反応としては量が多くて驚く
アンサーのほうは避けられない複雑性を
”複雑な型”で表現した場合としない場合のトレードオフについては
“消えてしまうことは無い”で濁してるだけで正面から回答してないよね
最初のブログの人も感覚的な話だからどっこいどっこいだけど
↓こういうのは頑張りすぎじゃねって感じる
type ArrayOfLengthRec<Num, Elm, T extends unknown[]> = T["length"] extends Num ? T : ArrayOfLengthRec<Num, Elm, [Elm, ...T]>
794デフォルトの名無しさん
2021/02/11(木) 02:00:22.02ID:jkz/J9rH まぁでも型定義するの楽しいからね
パズルみたいで
夢中になっちゃうのは分かる
パズルみたいで
夢中になっちゃうのは分かる
795デフォルトの名無しさん
2021/02/11(木) 12:28:55.00ID:IWbE3xWm796デフォルトの名無しさん
2021/02/11(木) 12:32:46.43ID:89K1HM4Z 初心者のうちは考えなくて良いんだよ。
わけ解らなくてもコード補完してくれる位
思ってれば良い。
わけ解らなくてもコード補完してくれる位
思ってれば良い。
797デフォルトの名無しさん
2021/02/11(木) 19:55:55.18ID:yR+7bkmQ コード補完力・エラー発見力を高めるために型書いてる感はある
JavaとかGoの型を”書かねばならない”という強制感がないんだよな
JavaとかGoの型を”書かねばならない”という強制感がないんだよな
798デフォルトの名無しさん
2021/02/11(木) 21:33:21.20ID:jkz/J9rH コード補完はすごいメリットだよね
あと型定義通ってると書いてて安心するし
あと型定義通ってると書いてて安心するし
799デフォルトの名無しさん
2021/02/11(木) 23:22:56.80ID:89K1HM4Z メリットの一番下は
リファクタリング耐性でしょ。
リファクタリング耐性でしょ。
800デフォルトの名無しさん
2021/02/11(木) 23:23:35.04ID:89K1HM4Z メリットの一番は
リファクタリング耐性でしょ。
リファクタリング耐性でしょ。
801デフォルトの名無しさん
2021/02/15(月) 14:41:09.07ID:7BVeLT+X クラスの中で、毎回 this. っての書かなきゃいけないの面倒くさくない…?
忘れるし
Java 並感
忘れるし
Java 並感
802デフォルトの名無しさん
2021/02/15(月) 14:44:23.78ID:7BVeLT+X803デフォルトの名無しさん
2021/02/15(月) 15:26:58.09ID:RViaNkw8 javascriptのthisのややこしさ知ってて言ってる?
804デフォルトの名無しさん
2021/02/15(月) 20:44:05.34ID:fEx2IVhT >>802
JS使いは誰もそう思わないと思うよ
そこでも最初から否定されてるし、その通りだよ
thisを省略可能なのは各メソッドにクロージャがない言語だけだよ
JSはそうではないから、余計に分かりにくくなるだけ
JS使いは誰もそう思わないと思うよ
そこでも最初から否定されてるし、その通りだよ
thisを省略可能なのは各メソッドにクロージャがない言語だけだよ
JSはそうではないから、余計に分かりにくくなるだけ
805デフォルトの名無しさん
2021/02/15(月) 21:56:58.17ID:ZXLSNxbk this省略が欲しいなんて1度も思ったことないわ
レガシーなJavaプロジェクトで、クソデカclass相手にした時は eclipse で this 強制せんとやってられんかった
で、Javaならローカル変数とクラス変数の違いが見分けられないだけだが
JavaScriptはただのfunctionもある
アホがJavaScriptでthisの省略悪用したら、簡単に地獄の蓋が開いて中から飛び出たイエスファッキンキリストに脳までファックされる未来が見えるね
レガシーなJavaプロジェクトで、クソデカclass相手にした時は eclipse で this 強制せんとやってられんかった
で、Javaならローカル変数とクラス変数の違いが見分けられないだけだが
JavaScriptはただのfunctionもある
アホがJavaScriptでthisの省略悪用したら、簡単に地獄の蓋が開いて中から飛び出たイエスファッキンキリストに脳までファックされる未来が見えるね
806デフォルトの名無しさん
2021/02/15(月) 21:58:12.78ID:ZXLSNxbk つかしばらくclassもthisも書いた記憶ねえわ
POJOと参照透過なarrow functionがあればそれでいい
POJOと参照透過なarrow functionがあればそれでいい
807デフォルトの名無しさん
2021/02/15(月) 22:03:00.31ID:ptBzJrEw tsやってるとclassいらないよね
808デフォルトの名無しさん
2021/02/16(火) 00:04:28.67ID:FwQskT4w 個人的にはオブジェクトが副作用を持つ(と明示したい)ときは使うかな。
あとErrorを継承とか継承以外にスマートな方法が無いときも使う。
出番はそんなに多くないけども
あとErrorを継承とか継承以外にスマートな方法が無いときも使う。
出番はそんなに多くないけども
809デフォルトの名無しさん
2021/02/24(水) 20:43:58.73ID:+f/VsSol Announcing TypeScript 4.2
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
810デフォルトの名無しさん
2021/02/25(木) 08:15:48.96ID:e2KFXpDq [TypeScript のテストを Jest (ts-jest) でやってみる - Qiita](https://qiita.com/mangano-ito/items/99dedf88d972e7e631b7)
これ参考にjestでテストしたのですが、ts-jest使うと、テスト時にts-jestが内部的にトランスパイルすrので、JavaScriptコードがファイルとして生成保存されないから
テストするたびに、前のテストから変更されてないソースもいちいち全てトランスパイルしてるのですか?
それともjsファイルが生成されてれば、それを利用してくれるのですか?
これ参考にjestでテストしたのですが、ts-jest使うと、テスト時にts-jestが内部的にトランスパイルすrので、JavaScriptコードがファイルとして生成保存されないから
テストするたびに、前のテストから変更されてないソースもいちいち全てトランスパイルしてるのですか?
それともjsファイルが生成されてれば、それを利用してくれるのですか?
811デフォルトの名無しさん
2021/02/25(木) 20:47:42.47ID:pFknXJZi https://kulshekhar.github.io/ts-jest/docs/processing
キャッシュしてると思います
キャッシュしてると思います
812デフォルトの名無しさん
2021/02/26(金) 07:59:54.83ID:TBWzJJJb >>811
ありがとう!
その図みても自分じゃ難しくてよくわからんが、確かにキャッシュ使ってるみたいだね。
思ったより複雑にいろいろしてるみたいだから、やっぱり自分が心配するような事は考慮済みだね、当たり前か。
ありがとう!
その図みても自分じゃ難しくてよくわからんが、確かにキャッシュ使ってるみたいだね。
思ったより複雑にいろいろしてるみたいだから、やっぱり自分が心配するような事は考慮済みだね、当たり前か。
813デフォルトの名無しさん
2021/03/04(木) 12:38:42.72ID:GxKFsRrm Flutter2 とともに Dart にnull安全がやって来たなあ
ちょっと勉強してみようかな
ちょっと勉強してみようかな
814デフォルトの名無しさん
2021/03/04(木) 12:47:27.36ID:xAXt6OPO Dartのことゴミだと思ってるけど
聳え立つクソof真のゴミofゴミstoryboard & xcodeをやるくらいなら、Dartで首吊った方がマシなのかもしれん
聳え立つクソof真のゴミofゴミstoryboard & xcodeをやるくらいなら、Dartで首吊った方がマシなのかもしれん
815デフォルトの名無しさん
2021/03/05(金) 14:31:03.60ID:lXK+Zrlg >>813
やっときたか!
やっときたか!
816デフォルトの名無しさん
2021/05/18(火) 11:15:17.98ID:+3nwuGsr TypeScript勉強してたらオブジェクトの配列とか出てきて型の使い方が全くわからなかった。
817デフォルトの名無しさん
2021/05/18(火) 11:53:25.44ID:+3nwuGsr type user2 = {
id: number;
name: string;
}[];
let test2: user2 = { id: 1, name: "大谷" };
console.log(test2);
---
type user2のオブジェクトをオブジェクトの配列にしたけど、これを利用するのはどうすればいいの?
id: number;
name: string;
}[];
let test2: user2 = { id: 1, name: "大谷" };
console.log(test2);
---
type user2のオブジェクトをオブジェクトの配列にしたけど、これを利用するのはどうすればいいの?
818デフォルトの名無しさん
2021/05/21(金) 21:43:57.64ID:EtVgB+aP いきなり間違ってる
819デフォルトの名無しさん
2021/05/25(火) 20:07:54.63ID:wb9iQvXr eslintのno-unsafe-member-accessチェックを有効にするために怪しいanyは全部タイプガードを通して
使うようにしようと思ったんだが、タイプガードの中でメンバーチェックするところがno-unsafe-member-accessに
引っかかってしまう。
詰んでる?
interface TypeA {
member_a: string;
}
functin isTypeA(a: any): a is TypeA {
if (typeof a !== 'object') return false;
if (!('member_a' in a)) return false;
if (typeof a.member_a !== 'string) return false; // Unsafe member access .member_a on an any value.
return true;
}
使うようにしようと思ったんだが、タイプガードの中でメンバーチェックするところがno-unsafe-member-accessに
引っかかってしまう。
詰んでる?
interface TypeA {
member_a: string;
}
functin isTypeA(a: any): a is TypeA {
if (typeof a !== 'object') return false;
if (!('member_a' in a)) return false;
if (typeof a.member_a !== 'string) return false; // Unsafe member access .member_a on an any value.
return true;
}
820デフォルトの名無しさん
2021/05/27(木) 07:58:04.71ID:ac9nW6BB Announcing TypeScript 4.3
https://devblogs.microsoft.com/typescript/announcing-typescript-4-3/
https://devblogs.microsoft.com/typescript/announcing-typescript-4-3/
821デフォルトの名無しさん
2021/05/28(金) 20:33:33.18ID:xubVQEL1 #privateは使っていくべきなの?
822デフォルトの名無しさん
2021/05/31(月) 20:57:24.94ID:N+Q3MCtj プログラミング言語「TypeScript 4.3」をMicrosoftが公開
https://www.atmarkit.co.jp/ait/articles/2105/31/news119.html
https://www.atmarkit.co.jp/ait/articles/2105/31/news119.html
823デフォルトの名無しさん
2021/06/07(月) 08:54:45.48ID:T37bbYD1 「型がないと開発できない」
「型がないと開発できないっていうのは無能」
↓翻訳
「うんこって汚い」
「うんこは汚いと思ってるやつは無能」
↓翻訳
「バーカ」
「アーホ」
「型がないと開発できないっていうのは無能」
↓翻訳
「うんこって汚い」
「うんこは汚いと思ってるやつは無能」
↓翻訳
「バーカ」
「アーホ」
824デフォルトの名無しさん
2021/06/07(月) 11:20:40.98ID:f9HfMVYo825デフォルトの名無しさん
2021/06/13(日) 17:37:59.04ID:1VszOIAC GoとかRustみたいにenumとかtypeに直接メソッド生やしたい...
826デフォルトの名無しさん
2021/06/13(日) 19:26:58.74ID:exUpBE38 >typeに直接メソッド生やしたい.
いまいちどういうことをやりたいのかわからないが、classじゃなくてtypeじゃないとダメなの?
いまいちどういうことをやりたいのかわからないが、classじゃなくてtypeじゃないとダメなの?
827デフォルトの名無しさん
2021/06/13(日) 20:26:40.60ID:1VszOIAC ↓みたいなADTっぽいことやる時とか直接メソッド生やせないと不便じゃない?
ttps://typescript-jp.gitbook.io/deep-dive/type-system/discriminated-unions
ttps://typescript-jp.gitbook.io/deep-dive/type-system/discriminated-unions
828デフォルトの名無しさん
2021/06/13(日) 21:44:24.86ID:exUpBE38 typeに関数型のメンバを追加すりゃいい話じゃなくて?
「typeに直接」ってのが何を言っているのかよくわqからん。
「typeに直接」ってのが何を言っているのかよくわqからん。
829デフォルトの名無しさん
2021/06/13(日) 22:03:52.22ID:SDaJf1m8 GoやRustを触ったことがあれば分かるけど, クラスではなくあくまでデータ構造(struct)を定義して, Goではレシーバ付きの関数, Rustではimplでデータ構造に対して操作を定義していく
C#だと定義済みのクラスに拡張メソッドでメソッド追加したり
素のJavaScriptならprototypeにメソッド追加する, みたいな
で, TypeScriptだと今は出来ないと思うけど, 需要はありそうだし, RFCとか出されてない?
構文的にJavaScriptと互換にやるのが難しいかな?
C#だと定義済みのクラスに拡張メソッドでメソッド追加したり
素のJavaScriptならprototypeにメソッド追加する, みたいな
で, TypeScriptだと今は出来ないと思うけど, 需要はありそうだし, RFCとか出されてない?
構文的にJavaScriptと互換にやるのが難しいかな?
830デフォルトの名無しさん
2021/06/13(日) 22:17:00.33ID:SDaJf1m8 既存の構文で出来るらしい
https://medium.com/my-coding-life/extension-method-in-typescript-66d801488589
C#のような新規の構文サポートは実装しない方針
https://github.com/microsoft/TypeScript/issues/563#issuecomment-291300044
https://medium.com/my-coding-life/extension-method-in-typescript-66d801488589
C#のような新規の構文サポートは実装しない方針
https://github.com/microsoft/TypeScript/issues/563#issuecomment-291300044
831デフォルトの名無しさん
2021/06/21(月) 11:11:33.75ID:Jendc3yZ Githubでとあるプロジェクトをパブリックにしてたら何かヤベーアメ公に絡まれた
気に入らなきゃさっさとフォークしろやハゲ
気に入らなきゃさっさとフォークしろやハゲ
832デフォルトの名無しさん
2021/07/03(土) 10:34:27.35ID:afnPLxcZ ふぇぇ…
Angularのバージョン上がるの早すぎだよぅ…
Angular4を使ったSPAのセキュリティが心配だよぅ…
Angularのバージョン上がるの早すぎだよぅ…
Angular4を使ったSPAのセキュリティが心配だよぅ…
833デフォルトの名無しさん
2021/07/07(水) 22:02:22.89ID:IyqR2Fvh Angular とかとっくに死んだと思ってたわ
誰が使ってるんだ?
1系で身動き取れなくなったレガシーサービスくらいしか見たことない
誰が使ってるんだ?
1系で身動き取れなくなったレガシーサービスくらいしか見たことない
834デフォルトの名無しさん
2021/07/07(水) 23:53:28.16ID:qO1FdR5E >>833
Teams(そろそろReactで書き換えられるけど)
Teams(そろそろReactで書き換えられるけど)
835デフォルトの名無しさん
2021/07/08(木) 07:47:58.41ID:75MwFXOI Google 自身が Google のサービスで全く使ってないのに、何で作ってるのかわかんない
いつ捨てられてもおかしくなくね
いつ捨てられてもおかしくなくね
836デフォルトの名無しさん
2021/07/08(木) 14:40:54.16ID:jNeY00JW teamsってangularだったのか。
reactにしたらもっさりが直るかな
reactにしたらもっさりが直るかな
837デフォルトの名無しさん
2021/07/08(木) 14:50:07.37ID:hOnojRWO >>836
Electron+AngularJsからWebview2+Reactになってメモリ消費は半分になるとか
Electron+AngularJsからWebview2+Reactになってメモリ消費は半分になるとか
838デフォルトの名無しさん
2021/07/14(水) 23:38:18.17ID:C6qCMUQO 質問させてください。
WebAPIを呼んでJsonを取得し、その一部の項目を使いたいのですが、
以下の2つの方法を考えました。
1.提供されるJsonと全く同じ項目をもつクラスを定義してパース
const data = axios.get<クラス[]>("複雑なJsonを返すURL");
2.getの結果をとりあえずanyで受け取り、必要な部分だけをクラスのコンストラクタに渡す
axios
.get("("複雑なJsonを返すURL")
.then((results) => {
const items = JSON.stringify(results.data);
const parseItems = JSON.parse(items);
const data = new クラス(parseItems.必要な項目1,parseItems.必要な項目2...)
以下略
「1」の方法は、不要な項目もクラスに定義するのでいろいろ無駄が多いが、オブジェクトの作成が簡単。
「2」の方法は、型情報が使えなくて不便。だなと思ったのですが、
上記のような場合、通常はどちらの方法を使うものでしょうか?
もしくは全然別なやり方があれば教えていただきたいです。
WebAPIを呼んでJsonを取得し、その一部の項目を使いたいのですが、
以下の2つの方法を考えました。
1.提供されるJsonと全く同じ項目をもつクラスを定義してパース
const data = axios.get<クラス[]>("複雑なJsonを返すURL");
2.getの結果をとりあえずanyで受け取り、必要な部分だけをクラスのコンストラクタに渡す
axios
.get("("複雑なJsonを返すURL")
.then((results) => {
const items = JSON.stringify(results.data);
const parseItems = JSON.parse(items);
const data = new クラス(parseItems.必要な項目1,parseItems.必要な項目2...)
以下略
「1」の方法は、不要な項目もクラスに定義するのでいろいろ無駄が多いが、オブジェクトの作成が簡単。
「2」の方法は、型情報が使えなくて不便。だなと思ったのですが、
上記のような場合、通常はどちらの方法を使うものでしょうか?
もしくは全然別なやり方があれば教えていただきたいです。
839デフォルトの名無しさん
2021/07/15(木) 23:21:53.74ID:/VADaM7m すみません838です。自己解決です。
2の方法で、
const parseItems : インターフェース = JSON.parse(items);
みたいにすれば、必要なとこだけ埋めることできました。
2の方法で、
const parseItems : インターフェース = JSON.parse(items);
みたいにすれば、必要なとこだけ埋めることできました。
840デフォルトの名無しさん
2021/08/27(金) 21:03:15.72ID:OujrQnBG Announcing TypeScript 4.4
https://devblogs.microsoft.com/typescript/announcing-typescript-4-4/
https://devblogs.microsoft.com/typescript/announcing-typescript-4-4/
841デフォルトの名無しさん
2021/09/11(土) 04:09:02.19ID:o78CvgiA Express を用いてwebアプリケーションを開発しているものです。質問なのですが、webpackで.tsのコンパイルとバンドルを行う際に出来たbundle.jsをdist フォルダに出力するとして、.ejs などのテンプレートが入ったviewsはどこに配置するのが正しいのでしょう。srcでいいような気もするのですが、実際に動くのはbundle.jsだし、dist の方がいいのかなと…….
842デフォルトの名無しさん
2021/09/17(金) 12:17:55.85ID:4jDmhT28 ようやくtsconfigのmoduleをesnextにしたわ
843デフォルトの名無しさん
2021/09/17(金) 17:43:37.86ID:ELLRTb6O むしろesnextにしてない人って何が理由なの?
844デフォルトの名無しさん
2021/09/29(水) 00:27:22.98ID:Ucgex+Jd TS型安全は良いけどハマると時間ロスするね
エラーパッと見ではなんでエラーが出てるかわからない
C++をやってた頃を思い出した
エラーパッと見ではなんでエラーが出てるかわからない
C++をやってた頃を思い出した
845デフォルトの名無しさん
2021/09/30(木) 18:43:43.57ID:4/dpkDC7 TSってプログラミングしてるっていうより問題解いてる感が強い
846デフォルトの名無しさん
2021/09/30(木) 21:24:56.16ID:dN1VyuR8 パズルっぽくはあるが。スリザーリンクみたいに定石に当てはめたらパタパタと解けていく印象だな。
847デフォルトの名無しさん
2021/10/12(火) 20:50:09.62ID:2QmYiCE7 TypeScriptのジェネリクスで型消去する方法って無いんだっけ?
あるいはJavaのワイルドカード型<?>みたいなのとか。
あるいはJavaのワイルドカード型<?>みたいなのとか。
848デフォルトの名無しさん
2021/10/12(火) 21:03:38.69ID:hmExHRrM as any
849デフォルトの名無しさん
2021/10/12(火) 21:44:00.66ID:2QmYiCE7 ああなるほど、<T extends any>なら<any>でいいわけか。
850デフォルトの名無しさん
2021/10/19(火) 13:43:00.05ID:W8Yk+b6r Promiseを同期的にwaitすることってできますか?
awaitではなくC#のTaskで言うところの.Resultなんですが…
awaitではなくC#のTaskで言うところの.Resultなんですが…
851デフォルトの名無しさん
2021/10/19(火) 13:54:59.42ID:QUfGkxyV できない
852デフォルトの名無しさん
2021/10/19(火) 14:08:46.54ID:W8Yk+b6r え、できないんですか困った
外部ライブラリに渡すコールバック関数がPromiseをサポートしてない
けど、その中で非同期関数を呼びたい
というユースケースなんですが諦めるしかないんですかね…
外部ライブラリに渡すコールバック関数がPromiseをサポートしてない
けど、その中で非同期関数を呼びたい
というユースケースなんですが諦めるしかないんですかね…
853デフォルトの名無しさん
2021/10/19(火) 14:41:50.05ID:LLvKMRJR C#は呼び出し側のスレッドをブロックしてもTaskは別スレッドで動いてるから困らない
JavaScriptはシングルスレッドだから同期的にwaitできたら
呼び出し側がブロックされるだけじゃなくPromiseで動かそうとしてる処理もブロックされるので困る
コールバック関数をPromise化すればいいケースのような気がする
JavaScriptはシングルスレッドだから同期的にwaitできたら
呼び出し側がブロックされるだけじゃなくPromiseで動かそうとしてる処理もブロックされるので困る
コールバック関数をPromise化すればいいケースのような気がする
854デフォルトの名無しさん
2021/10/19(火) 14:52:46.98ID:W8Yk+b6r コールバックというと正確じゃないかもなんですけど
あるフレームワークが拡張のためのフックをサポートしてる
その関数は決まった名前のjsあるいはtsファイルのデフォルトエクスポートで指定する
フレームワークはそれがあれば利用し、なければ何もしない
その関数のシグネチャーは非同期をサポートしてない
こんな感じのシチュエーションですね
あるフレームワークが拡張のためのフックをサポートしてる
その関数は決まった名前のjsあるいはtsファイルのデフォルトエクスポートで指定する
フレームワークはそれがあれば利用し、なければ何もしない
その関数のシグネチャーは非同期をサポートしてない
こんな感じのシチュエーションですね
855デフォルトの名無しさん
2021/10/19(火) 17:26:32.56ID:LLvKMRJR856デフォルトの名無しさん
2021/10/19(火) 19:00:11.55ID:W8Yk+b6r >>855
Promiseもサポートされてないです
function libFunc( myFunc: (x: X) => Y )
イメージとしてはこんな感じで
myFuncはPromiseを返せないようなってます
myFuncのなかでOneWayのPromiseを走らせてPromiseを捨てることはできますが
libFuncはmyFuncの戻りであるYを使って処理を続けるのでOneWayでは意味がありません
Promiseもサポートされてないです
function libFunc( myFunc: (x: X) => Y )
イメージとしてはこんな感じで
myFuncはPromiseを返せないようなってます
myFuncのなかでOneWayのPromiseを走らせてPromiseを捨てることはできますが
libFuncはmyFuncの戻りであるYを使って処理を続けるのでOneWayでは意味がありません
857デフォルトの名無しさん
2021/10/19(火) 19:38:25.38ID:QUfGkxyV const ox = await new Promise(resolve=>
libFunc(x=> {
// yを作成
resolve(x)
return y
}))
とかじゃ駄目なん?
libFunc(x=> {
// yを作成
resolve(x)
return y
}))
とかじゃ駄目なん?
858デフォルトの名無しさん
2021/10/19(火) 20:05:08.21ID:W8Yk+b6r859デフォルトの名無しさん
2021/10/19(火) 20:07:52.68ID:2lJX9loQ >>856
やりたいことがいまいちわからんが、同期呼び出しでmyFuncの結果を取得したいというならそれは無理。
やりたいことがいまいちわからんが、同期呼び出しでmyFuncの結果を取得したいというならそれは無理。
860デフォルトの名無しさん
2021/10/19(火) 21:03:40.36ID:LLvKMRJR Promiseも使えないならもう一つ昔のコールバックヘル方式でやるしかないね
861デフォルトの名無しさん
2021/10/19(火) 21:14:06.31ID:QUfGkxyV862デフォルトの名無しさん
2021/10/28(木) 09:19:43.09ID:Qx9i2vDk 変数の先頭に$を付けるのは何の意味があるのでしょう?
863デフォルトの名無しさん
2021/10/28(木) 09:36:01.90ID:3VMLYSLP そんな事しません
864デフォルトの名無しさん
2021/10/28(木) 23:51:25.40ID:vOpe/LV1 DOM のエレメントだよって示す
865デフォルトの名無しさん
2021/10/29(金) 00:01:40.58ID:e9XHTkBz PHPerでも出来た!と主張する
866デフォルトの名無しさん
2021/10/31(日) 10:32:24.95ID:gOKmIPxI Cの __FILE__ や __LINE__ みたいにトランスパイル前のファイル名や行番号を埋め込む方法って無いのかな?
一応source-map-supportでスタックトレースは読めるようになったけど、もっと手軽に埋め込むログで
場所を示せたらいいんだが。
一応source-map-supportでスタックトレースは読めるようになったけど、もっと手軽に埋め込むログで
場所を示せたらいいんだが。
867デフォルトの名無しさん
2021/10/31(日) 12:11:14.90ID:Xdv2iZD2 TypeScript の仕事じゃない
868デフォルトの名無しさん
2021/10/31(日) 12:31:29.22ID:gOKmIPxI tscの前にプリプロセッサとかかまして実現できるならそれでもいいんだけど。
869デフォルトの名無しさん
2021/10/31(日) 12:33:38.24ID:OQlLkoA+ しょせんはトランスパイラ
多くを求めたらダメだ
多くを求めたらダメだ
870デフォルトの名無しさん
2021/10/31(日) 21:52:21.68ID:plSPEajD >>866
英語で議論できれば提案すればいいと思うけどね
英語で議論できれば提案すればいいと思うけどね
871デフォルトの名無しさん
2021/10/31(日) 22:25:46.49ID:+4LFgdgS >>868
手動でやるのは簡単だよね?
TS使ってないからビルドシステム知らんけど、Pythonか何かを挟み込める余地があったらそこでやってしまえば?
或いはいっそのことmakefileでラップしてしまうとか。(makefile内でビルドコマンドを起動)
手動でやるのは簡単だよね?
TS使ってないからビルドシステム知らんけど、Pythonか何かを挟み込める余地があったらそこでやってしまえば?
或いはいっそのことmakefileでラップしてしまうとか。(makefile内でビルドコマンドを起動)
872デフォルトの名無しさん
2021/10/31(日) 23:58:24.90ID:gOKmIPxI ありがとう。無いってことね。
873871
2021/11/01(月) 00:27:26.36ID:M14pmKjL >>872
多分ね。(俺は871、TS使ってない)
他言語(何だったかは忘れた)でも同様に「ないのか?」って聞かれてて、
仕様に入れない理由が「ちゃんと関数名書け」だったと思ったよ。
実際あれって、実装するのは簡単だけど、Cにしかないでしょ。
個人開発ならともかく、Gitな今だと複数バージョンが同時に使われてたりするから、収拾付かなくなるのではないかな。
その辺のCの便利機能って、今の大規模開発にはフィットしないから、基本的には嫌われてる。
多分、提案したところで入らない。
多分ね。(俺は871、TS使ってない)
他言語(何だったかは忘れた)でも同様に「ないのか?」って聞かれてて、
仕様に入れない理由が「ちゃんと関数名書け」だったと思ったよ。
実際あれって、実装するのは簡単だけど、Cにしかないでしょ。
個人開発ならともかく、Gitな今だと複数バージョンが同時に使われてたりするから、収拾付かなくなるのではないかな。
その辺のCの便利機能って、今の大規模開発にはフィットしないから、基本的には嫌われてる。
多分、提案したところで入らない。
874デフォルトの名無しさん
2021/11/01(月) 00:59:41.61ID:KlMso67D TypeScriptのポリシー的に絶対入らない
875デフォルトの名無しさん
2021/11/01(月) 08:42:35.30ID:43zjctJQ 技術的にそう難しくもなさそうなのに今無いってことはもう入れられる見込みは無いんだろうけど
これが絶対に相容れられないようなポリシーってなんかあったかな?
これが絶対に相容れられないようなポリシーってなんかあったかな?
876デフォルトの名無しさん
2021/11/01(月) 18:25:45.93ID:ZjFzlu/6 TSって滅多にクラス使わないけどDIってどうやってんの?
877デフォルトの名無しさん
2021/11/01(月) 20:45:04.19ID:bXtGRcPZ クラス全く使わないわけじゃないよ。まぁ明示的に副作用使いたい時ぐらいしか使わないけど
878デフォルトの名無しさん
2021/11/11(木) 15:10:53.10ID:CHcG8Nbi DIの件はこれで解決した
function F(deps: { … }, p1: T1, p2: T2)
よくよく考えると
たったこれだけのことだったんだ
フレームワークとかややこしいことを考えたのが間違いだった
function F(deps: { … }, p1: T1, p2: T2)
よくよく考えると
たったこれだけのことだったんだ
フレームワークとかややこしいことを考えたのが間違いだった
879デフォルトの名無しさん
2021/11/11(木) 19:34:48.71ID:CHcG8Nbi type X = {
foo: string;
bar: string;
baz: string;
}
この型から
type Y = {
foo: string;
bar: string;
}
この型をMappedTypesで定義したい
つまり特定の属性を除去した型を作りたいのだけど出来る?
foo: string;
bar: string;
baz: string;
}
この型から
type Y = {
foo: string;
bar: string;
}
この型をMappedTypesで定義したい
つまり特定の属性を除去した型を作りたいのだけど出来る?
880デフォルトの名無しさん
2021/11/11(木) 21:14:57.72ID:P2a3zHOn Utility Types の Omit とか。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
