1 名前:デフォルトの名無しさん [2015/04/30(木) 18:37:29.98 ID:ynMflk1l.net] www.typescriptlang.org/ TypeScript lets you write JavaScript the way you really want to. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source. 前スレ peace.2ch.net/test/read.cgi/tech/1349187527/
997 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 05:53:19.16 ID:V1qhcEkf.net] localStorageとかreduxとか使ってると意図せず型変換が入ってtscはDate型の想定なのに実際はstringという状況マジ勘弁してください。
998 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 08:16:36.90 ID:BFkGLEDk.net] >tscはDate型の想定なのに実際はstringという状況 そりゃ不適切な型付けしてしまっただけじゃね? stringを入る可能性があるanyをDateと決め打ちしたとか。
999 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 22:12:47.33 ID:cFDHLCLJ.net] DateがJSON serializableじゃないって話でTypeScriptの問題でもない
1000 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 11:43:46.31 ID:16WZc9vb.net] インスタンスではなくclass を引数に取った関数を作りたいんですが、良い方法がないでしょうか? redux.connectをラップする関数を作りたくて上記手段を求めています サンプルコードはいかにおいています https://goo.gl/FF5jFc
1001 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 11:48:46.22 ID:16WZc9vb.net] >>959 すんません。自己解決 interface IBase { new (message: string): Base; }
1002 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 14:06:48.67 ID:16WZc9vb.net] 返り値とか省略すると推論してくれますけど推論の結果を取得する方法ってないですかね? vscodeでカーソルを合わせてると出るんですけどカーソル合わせている間しか出ないのでコピペしづらくて。
1003 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 16:26:17.34 ID:g7co9PB2.net] >>960 Baseって何を指すの?
1004 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 10:23:18.30 ID:V9tZNzCA.net] TypeScriptでglobal import的なものってないですかね? ロガーを作ったんですけど、それを毎回importするのがしんどくて
1005 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 14:40:42.51 ID:ma2l7eSX.net] Announcing TypeScript 2.7 https://blogs.msdn.microsoft.com/typescript/2018/01/31/announcing-typescript-2-7/
1006 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 22:05:36.77 ID:wQgqkVj5.net] >>964 TypeScript 2.7.1 変更点 https://qiita.com/vvakame/items/3a1e628e53a5dd99dfe0 2.8 Conditional types https://github.com/Microsoft/TypeScript/pull/21316 Type inference in conditional types https://github.com/Microsoft/TypeScript/pull/21496
1007 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 23:37:11.09 ID:Rv6TwvHy.net] Conditional types関連は既にmergedなのか
1008 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 05:58:37.68 ID:vXstL54C.net] 小躍りしながら使ってみたところ速攻でバグにぶち当たって無事死亡 修正されるまで一回休み
1009 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 05:54:42.41 ID:kAM/OKSF.net] 型を後付した言語の限界があるよな。 ストレージに一度保存して意図せずjsonになってたり、関数のインターフェース上nullやundefind許容しない設定にしてても結局js側でnullの可能性のある値を渡されたらバグるし。 例えばjsとtsの境界部分。 モジュールとして外出ししている関数とかのインターフェースとかをきちんとnullチェックしてくれるコードを自動で埋め込んでくんないかな。
1010 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 06:47:09.07 ID:a2BGtfue.net] それは信頼できないjsが悪いだけだろ 外部のクソコードはどうにもならん
1011 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 09:13:05.77 ID:cOH/iFjL.net] TypeScriptが目指してるのはコンパイル時型チェックであって実行時型チェックではない コンパイル時型チェックならパフォーマンスに影響はない(処理系によってはむしろ向上する)が実行時型チェックは明確にパフォーマンスが落ちる PHPなんかは実行時型チェックを実装しちゃったもんだからクラスのメンバに型宣言するRFCすらリジェクトされてる
1012 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 15:21:25.94 ID:xpZzv5qK.net] >>970 ですよね。それはわかっているんですが、、、、 せめてlint的な感じでjs向けのインターフェースが null| undefinedの可能性があるから直せみたいな警告が出るといいんですけど。 async func 内の await記入漏れと一緒にほしい。
1013 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 15:22:21.77 ID:xpZzv5qK.net] blog.yux3.net/entry/2017/06/08/202859 あと objectとObjectがあるって知らなかった。 hyperappの型定義で始めて見た。
1014 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 22:00:08.76 ID:XkJQyT0D.net] jsから呼ばれる部分はどうやってもチェックしようがないと思うぞ。
1015 名前:デフォルトの名無しさん mailto:sage [2018/02/20(火) 18:34:14.34 ID:KguAhC0Q.net] yarnのワークスペースを使用して、Create React AppとCreate React Native App (Expo) で共通のコードを共有する https://taiyaq.com/contents/gk1Kr17x8vW9LIozNo51lez9rr を参考にしてcreate-react-app でtypescriptプロジェクトを作ったんだけど ワークスペース内での型情報の共有がうまくいかない。 それぞれ単体では動くんだけど。既に試している人っている?
1016 名前:デフォルトの名無しさん [2018/02/26(月) 16:47:13.03 ID:Y4Glcgpd.net] ブラウザで動く個人的なちょっとしたものしか作らなくて、 ライブラリはimportしないで自分でscriptタグで読み込んでるから、 @typesの定義だけ欲しいんだけど、今って中身のないstubばかりで importしないと使えないんだけど、これってどうすればいいのでしょうか? 仕方なくファイルをルートにコピーして、意味がわからないまま export as namespace hogehoge; みたいな文をくっつけたりして 何とか機能するようにしてるけど、非常に困ってます
1017 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 17:28:19.81 ID:wXoocKSL.net] .d.tsファイルでインポートすればいいはず
1018 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 19:51:46.67 ID:Y4Glcgpd.net] いろいろやってみたけど、なかなか上手くいかない。 tsc --listFilesってやると、定義自体は読み込めてるようなんだけど、 要するに、d.tsファイルがIsomorphic modules (UMD global)
1019 名前:ってやつに対応した書き方になってなくて、 それに対応するためにexport as namespace hogehoge; が必要だったりするらしい https://www.typescriptlang.org/docs/handbook/modules.html#umd-modules [] [ここ壊れてます]
1020 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 21:54:01.34 ID:0Cvn/PR2.net] >>975 ちょっと言ってることがわからないからこういうときは小さいサンプルでも作ってどっかにあげてみてくんない? そしてそうやって小さくまとめてみると意外と自己解決したりするもんだ。
1021 名前:デフォルトの名無しさん mailto:sage [2018/02/26(月) 23:16:55.53 ID:Y4Glcgpd.net] 例えばmomentを使う場合、scriptタグでmoment.jsを読み込んでいれば、 自分のjsではconsole.log(moment().format("YYYYMMDD hh:mm:ss"))みたいに使えます。 そのjsをtypescriptで書こうとした場合、moment()の定義が必要になります。 そこで@types/momentをインストールするわけですが、@typesはオワコンらしく、 実際にはmoment自体のパッケージもインストールされて、その中の定義ファイルが 参照されるようになります。 しかし、自分が使おうとしているmoment()は、トップレベルのwindow.moment()なわけですが、 定義ファイルでは、そのことが考慮されていないために定義を見つけられないようです。 (エラーは出ますが、anyとしてコンパイルはされます。) その定義を見つけらるようにするおまじないが、export as namespace moment;のようです。 結局は、モジュールシステムに合わせた定義ファイルの書き方を 理解している人が少ないのだと思います。 export hogehoge とか export default hogehoge とか export = hogehogeとか わけわかりません。
1022 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 01:53:35.35 ID:ZLoGDkNB.net] >>979 @typesは別にオワコンじゃない。 型定義を提供するのに2つのルートがあるってだけ。 momentは作者側で型定義を提供してくれてるってだけ。 ところで解決したってことでいいんだよね? /// <reference path="./mytypes/moment.d.ts"/> みたいな感じでカスタムしたd.tsを読めばいいだけだし。
1023 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 01:59:51.55 ID:ZLoGDkNB.net] つーかUMD対応中みたいだね https://github.com/moment/moment/pull/3688 ワークアラウンドとして import * as _moment from 'moment'; export as namespace moment; export = _moment; というd.tsを作ってimportすればいい
1024 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 12:44:23.84 ID:XDcEi9Sw.net] import使っちゃった意味ないんだけどね vueみたいに複数のファイルに分けられちゃうと大幅に変えないといけないから 気軽にプルリクできない感じがする だが自分でその場しのぎの対応してると、バージョン上げられた時に詰む
1025 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 12:53:20.87 ID:XDcEi9Sw.net] 勘違いしてた import _moment from 'moment'; export as namespace moment; export = _moment; とか、 import _Vue from 'Vue'; export as namespace Vue; export = _Vue; みたいに書けばいいのか。 すごい。解決した
1026 名前:デフォルトの名無しさん mailto:sage [2018/03/01(木) 22:44:29.35 ID:V7eofqS1.net] 次スレカモン
1027 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 23:33:32.22 ID:ZJVFDbUv.net] TSConf 2018 https://tsconf.io/ 初のカンファか
1028 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 08:23:22.72 ID:K5Isy9NI.net] Announcing TypeScript 2.8 RC https://blogs.msdn.microsoft.com/typescript/2018/03/15/announcing-typescript-2-8-rc/
1029 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 14:11:16.40 ID:HcB/quXY.net] >>984 次スレのテンプレに入れたほうがいいものとかある?
1030 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:42:53.78 ID:4Xu/HAYS.net] tsconfigのexcludeの項目を、compilerOptionsの中に書いてて、何でダメなんだろう悩んじゃった 設定はcompilerOptionsの中に書くものと思い込んでて、全然気付けなかった
1031 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 21:01:59.42 ID:zUTKt+H5.net] >>987 リポジトリとかWikiとかWhat'sNewあたり? あとは流れで
1032 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 08:14:57.22 ID:3iq+90ex.net] Announcing TypeScript 2.8 https://blogs.msdn.microsoft.com/typescript/2018/03/27/announcing-typescript-2-8/
1033 名前:デフォルトの名無しさん [2018/04/02(月) 17:52:32.10 ID:G4IZotVZ.net] 俺のtypescriptが好きすぎる感情をどこにぶつけていいかわからない
1034 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 18:53:21
] [ここ壊れてます]
1035 名前:.97 ID:aSG3UjFJ.net mailto: Qiitaでええやろ [] [ここ壊れてます]
1036 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 10:37:57.34 ID:0rmSrban.net] >>991 俺も俺も!。qiitaでもいいしココでもいいよ!!
1037 名前:デフォルトの名無しさん [2018/04/03(火) 11:33:16.29 ID:R6gDm2yr.net] 次スレよろ
1038 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 19:58:55.32 ID:0c0qrJs0.net] スレ立てにぶつけることが決まったな
1039 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 07:03:30.59 ID:yIya3QmH.net] どうしたん?人気あるわりにここ静かやん
1040 名前:デフォルトの名無しさん [2018/04/20(金) 09:50:01.67 ID:WJk0jxxj.net] 続きはCMのあとで!
1041 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 20:06:57.83 ID:TUZ43qB9.net] はよ次スレ
1042 名前:デフォルトの名無しさん [2018/04/24(火) 21:50:54.24 ID:BAt1Eldp.net] うむ
1043 名前:デフォルトの名無しさん mailto:sage [2018/04/26(木) 21:48:57.62 ID:mMDBzDaB.net] 次 https://mevius.5ch.net/test/read.cgi/tech/1524746903/
1044 名前:デフォルトの名無しさん [2018/04/26(木) 21:52:07.15 ID:vM7mL5EC.net] safariが次のIEと呼ばれているように、 Typescriptは次のcoffeescriptと言われているwww
1045 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 1092日 3時間 14分 38秒
1046 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています