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/
960 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 04:33:36.78 ID:Aye3R7gH.net] オブジェクト指向を学ぼう
961 名前:デフォルトの名無しさん [2017/11/26(日) 23:18:17.65 ID:rkyPHH9I.net] 願望なんだけど Typescriptは言語自体がWebアプリ開発用に 丸ごとフレームワークになったら良いと思う。 Flash(flex)のActionscript3も フレームワーク化達成した様だし。 flex.apache.org/
962 名前:デフォルトの名無しさん [2017/11/26(日) 23:25:22.11 ID:pQh5Iwo2.net] >>921 JSのスーパーセット目指してるんだし無理に決まってんだろ
963 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 23:28:03.09 ID:rkyPHH9I.net] すみませんリンク先間違ってました。 royale.codeoscopic.com/
964 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 23:33:18.08 ID:i1z8rFU6.net] >>921 TypeScriptでkoa.js使えばいいんでわ? なんか違うの?
965 名前:920 mailto:sage [2017/11/26(日) 23:51:34.59 ID:rkyPHH9I.net] >>924 すみませんkoa.jsの存在を知りませんでした。 良さげなので検討してみます。
966 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 19:48:21.81 ID:Qr863YVP.net] 人気沸騰中のはずなのに年々参加者が減っていきついにアドカレ作られすらしなくなったTypeScriptさん
967 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 20:26:25.44 ID:6V2me3Iy.net] TypeScript関係ないけど、アドカレVue.jsすげぇな。React人気ないのか??
968 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 20:32:35.43 ID:u+SbUYxr.net] FBのゴタゴタがきいてるんかな
969 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 22:04:45.62 ID:jFvanr8n.net] アドカレ的にはjs扱いなんじゃね?
970 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 23:41:41.28 ID:tkoMYkG1.net] ES6普及したから AltJSへの興味が薄れてるんじゃね?
971 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 23:55:12.47 ID:jFvanr8n.net] まだasync await周りが完成してないけどね。 とりあえずmapとかfilterが普通に使えるようになってほしい
972 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 10:19:06.97 ID:y5gxd1px.net] stackblitzいいな。マジでplayground系の決定版感ある。 https://stackblitz.com/edit/react-ts
973 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 16:42:58.78 ID:y5gxd1px.net] typeScriptのinterfaceで配列の要素数を制約する方法ってありますかね?
974 名前:デフォルトの名無しさん [2017/12/14(木) 19:30:41.65 ID:lO2D+k3i.net] >>932 vscodeみてーなUIだな
975 名前:デフォルトの名無しさん [2017/12/14(木) 19:31:21.04 ID:lO2D+k3i.net] >>933 何に使うの? 空でない配列なら分かるけど
976 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 19:43:58.65 ID:ZmHWuRBr.net] tupleとして扱う
977 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 20:36:42.23 ID:LW4O1R2X.net] tuple使え
978 名前:デフォルトの名無しさん [2017/12/14(木) 22:26:15.12 ID:lO2D+k3i.net] もしかして:タプル
979 名前:機能を知らない let vec:[number,number=[1,1]; [] [ここ壊れてます]
980 名前:デフォルトの名無しさん [2017/12/14(木) 22:27:31.03 ID:lO2D+k3i.net] ミス let vec:[number,number]=[1,1]; もちろんこれでもOK type Vec=[number,number]; let vec:Vec=[number,number];
981 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 22:29:51.71 ID:LW4O1R2X.net] 前にもタプルあるのにタプル欲しい言ってたやついたような
982 名前:デフォルトの名無しさん [2017/12/14(木) 23:16:24.01 ID:lO2D+k3i.net] https://www.typescriptlang.org/docs/handbook/advanced-types.html タプルもだけど、このページ読んでない人多くね? TypeScript語るなら&、|、is、keyofくらいマスターしておけよな
983 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:23:56.02 ID:okgNcKTb.net] >>938 すっかり忘れとりました。Enumとかも使ってなかった。 >>941 ですよね。 >>934 online vscode と名乗ってる
984 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 10:29:49.56 ID:sajYuSyc.net] (´・ω・`) デコレータがなんの役に立つのかわからん…
985 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 12:12:33.81 ID:ehq3lI3U.net] 一時期使ってみたが全部取っ払って今は一切使ってない デコレータを使う設計自体が悪い 技術的負債になるワークアラウンドが不運にも市民権を得てしまったのがデコレータ デコレータを使うのは未熟者の証
986 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 12:39:37.56 ID:pWQR70OL.net] veu
987 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 13:09:01.78 ID:VJqK9zii.net] 使ってないけど、デコレータはDI(dependency injection)(依存性の注入)に使うんでしょ? そもそもそれが必要な事なのか知らんけど
988 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 16:08:57.23 ID:ehq3lI3U.net] DIはコンストラクタ注入だけでいい メソッドだの継承だのデコレータだの無駄に複雑なだけ
989 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 11:15:39.58 ID:Ab77UDQn.net] Angularもけっこう深い沼だな…
990 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 22:02:32.48 ID:c6/WUVVQ.net] 沼というか泥舟
991 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 16:05:22.54 ID:dnHAQQNy.net] ionic はタイタニックだしな
992 名前:デフォルトの名無しさん [2017/12/18(月) 13:13:38.64 ID:2IRqztoA.net] あげ
993 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 20:27:44.97 ID:FhxZLFGY.net] interfaceを使ってるとjsonでセーブする時にすごく便利なんだけどメソッドが生やせないのが辛い。 なんとかならないかな
994 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 16:20:55.33 ID:AWcujNq7.net] 手動で保存・復元すればOK
995 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 16:23:04.93 ID:AWcujNq7.net] まぁ、classレベルならいいけど、interfaceレベルだときついかもしれんが。
996 名前:デフォルトの名無しさん mailto:sage [2018/01/18(木) 18:36:14.16 ID:c8bYFLwE.net] Announcing TypeScript 2.7 RC https://blogs.msdn.microsoft.com/typescript/2018/01/17/announcing-typescript-2-7-rc/ 毎回RC版出してるけど、VSCodeやTSって更新早いからいらないと思う
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています