[過去ログ]
TypeScript part2 [転載禁止]©2ch.net (1002レス)
TypeScript part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1430386649/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
767: デフォルトの名無しさん [sage] 2017/06/27(火) 22:13:14.24 ID:xkXC4vKS >>766 goはいいぞ。素朴でモダンという相反する要素を持ち合わせてる。 エコシステムはモダン。 言語仕様は素朴。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/767
768: デフォルトの名無しさん [sage] 2017/06/27(火) 22:20:02.75 ID:rQeMEWtY J++とかJ#とかManaged C++とか割と救いようのないものも作ってるけどねMicrosoft でも全体としては確かに良い言語が多い印象 Googleの言語もGoとか(使ったことないけど)人気みたいだし, そもそも作った言語の数が大分違う気が http://mevius.5ch.net/test/read.cgi/tech/1430386649/768
769: デフォルトの名無しさん [] 2017/06/27(火) 23:37:36.64 ID:mpuQzI8/ >>767 ジェネリクス追加されるまでは様子見… http://mevius.5ch.net/test/read.cgi/tech/1430386649/769
770: デフォルトの名無しさん [sage] 2017/06/28(水) 03:33:15.38 ID:4SuBLGV6 マイクロソフトはvsc出したときはなんでatomの二番煎じやってんのって思ったけどやはり製品としての完成度高くて感動する。 開発環境作らせたら最強と言う噂は伊達じゃない。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/770
771: デフォルトの名無しさん [sage] 2017/06/28(水) 09:12:54.31 ID:9HmGLvwZ >>763 angular2 http://mevius.5ch.net/test/read.cgi/tech/1430386649/771
772: デフォルトの名無しさん [sage] 2017/06/28(水) 14:22:19.39 ID:R0ZTQr0d Announcing TypeScript 2.4 https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/ http://mevius.5ch.net/test/read.cgi/tech/1430386649/772
773: デフォルトの名無しさん [] 2017/06/28(水) 16:15:00.25 ID:7uiFkJf0 MSは言語と開発環境では最強 ネットや機械学習ならGoogle アップルは…嫌い http://mevius.5ch.net/test/read.cgi/tech/1430386649/773
774: デフォルトの名無しさん [sage] 2017/06/28(水) 16:19:23.04 ID:DxMay05+ MSは言語と開発環境では最強 ネットや機械学習ならGoogle アップルは…嫌い http://mevius.5ch.net/test/read.cgi/tech/1430386649/774
775: デフォルトの名無しさん [] 2017/06/28(水) 16:28:12.57 ID:7uiFkJf0 >>774 何こいつ怖い http://mevius.5ch.net/test/read.cgi/tech/1430386649/775
776: デフォルトの名無しさん [sage] 2017/06/29(木) 16:13:29.70 ID:f9ij8X2q すいません。 例えば以下のようにアクションを定義してあったとして export type Action = { type: 'FETCH_MAIN_FEEDS'; } | { type: 'SET_MAIN_FFEDS'; payload: comm.Contentlist; } | { type: 'DO_NOTHING' }; ジェスリクスの仕組みを使って type ActionType = 'FETCH_MAIN_FEEDS' | 'SET_MAIN_FFEDS' | 'DO_NOTHING' をActionの内容変更に合わせて自動的に作る方法ってないですかね http://mevius.5ch.net/test/read.cgi/tech/1430386649/776
777: デフォルトの名無しさん [sage] 2017/06/29(木) 16:20:59.60 ID:f9ij8X2q 自己解決 export type Action = { type: 'FETCH_MAIN_FEEDS'; payload: undefined; } | { type: 'SET_MAIN_FFEDS'; payload: comm.Contentlist; } | { type: 'DO_NOTHING'; payload: undefined; }; type ActionType = Action['type']; type PayloadType = Action['payload']; 思いの外簡単であった http://mevius.5ch.net/test/read.cgi/tech/1430386649/777
778: デフォルトの名無しさん [sage] 2017/07/10(月) 13:26:30.50 ID:gqDySAuG typescriptのエラーってよくわかんないことある (81,32): error TS2322: Type '{ path: "/logout"; component: typeof Logout; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Route> & Readonly<{ children?: ReactNode; }> & Rea...'. Type '{ path: "/logout"; component: typeof Logout; }' is not assignable to type 'Readonly<RouteProps>'. Types of property 'component' are incompatible. Type 'typeof Logout' is not assignable to type 'StatelessComponent<RouteComponentProps<any> | undefined> | ComponentClass<RouteComponentProps<any...'. Type 'typeof Logout' is not assignable to type 'ComponentClass<RouteComponentProps<any> | undefined>'. ってでて、何のことかわからない。 偶然解決して、総合するとReact.Componet<P,S>のSをvoidに指定は駄目ってことらしい。 上記エラーメッセージからどう読み取ればそういうことなわけ? http://mevius.5ch.net/test/read.cgi/tech/1430386649/778
779: デフォルトの名無しさん [sage] 2017/07/10(月) 19:20:13.57 ID:lPQJaLkK template登場したての頃のc++みたいだな http://mevius.5ch.net/test/read.cgi/tech/1430386649/779
780: デフォルトの名無しさん [sage] 2017/07/12(水) 20:52:57.67 ID:iKt9vtZC @typesやパッケージ自身が持っているd.tsに問題があるとき、自分のプロジェクト内で 部分的に修正版と差し替えたりできないのかな? Typescript2.4に上げたらいくつかのパッケージがエラーを出すようになってしまったんで 大元が対応するまでの間ちょっと回避したいんだが。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/780
781: デフォルトの名無しさん [sage] 2017/07/12(水) 21:44:01.43 ID:46U9BX05 >>780 https://teratail.com/questions/83920 http://mevius.5ch.net/test/read.cgi/tech/1430386649/781
782: デフォルトの名無しさん [sage] 2017/07/12(水) 22:50:59.04 ID:iKt9vtZC リンク先のそれは解決法として正しいのかという疑問はあるがとりあえず、declareで 定義を上書きできるということかな。試してみるわ。ありがとう。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/782
783: デフォルトの名無しさん [sage] 2017/07/13(木) 12:11:08.28 ID:SeGC5rTL ここでredux-observale薦めてもらったのもあって試してるんだけど epicを書く時 action$.ofType('FIRST’)って書いてfilterするのはいいんだけど返ってくる Observaleがtype:’FIRST’に絞り込められてくれない。 無理やりキャストして使えってこと? いい方法教えてください http://mevius.5ch.net/test/read.cgi/tech/1430386649/783
784: デフォルトの名無しさん [sage] 2017/07/14(金) 00:10:59.94 ID:UTvPeefr VS2017は2015と違ってJavaScriptで var a = {}; a.b = 1; と書いてその下に「a.」と入力しても候補にnumber型プロパティとしてのbはない TypeScriptのnamespaceがブラウザの生JavaScriptでも使えるようになったら便利そうなんだけどな http://mevius.5ch.net/test/read.cgi/tech/1430386649/784
785: デフォルトの名無しさん [sage] 2017/07/14(金) 15:42:06.74 ID:AYnLv9ir >>782 いやいや。具体的に指摘してほしいな。 reduxのactionは基本的にobjectであれば何でもあり。というスタンスのもので そのactionに継承関係を設定してるのはたまたま定義ファイルの作者がなんとなく決めた程度のものでしかない。 となると元々の定義を修正してしまっても不都合はないと思うんだが。 更にいうとreduxのmiddlewareの定義ファイルも、結構declareで大元のreudxの定義を改変してる。 (redux-thunkとかredux-promiseとか) http://mevius.5ch.net/test/read.cgi/tech/1430386649/785
786: デフォルトの名無しさん [sage] 2017/07/14(金) 22:07:24.48 ID:Ukk3qL4L 「具体的に」と言っている当人が具体的にに何を指摘しているのかわからない件 http://mevius.5ch.net/test/read.cgi/tech/1430386649/786
787: デフォルトの名無しさん [sage] 2017/07/17(月) 02:22:25.78 ID:HJdOjxBV モジュール拡張書いてる人っていますか? ローカルではうまく書けるんだけど、 npmで管理して外部モジュール化しようとするとうまく動かなくなる。 jsとd.tsに別れるとだめなんだろうか、、、、。 なんか参考になるnpmライブラリが有るなら事に教えてくださいm(_ _)m http://mevius.5ch.net/test/read.cgi/tech/1430386649/787
788: デフォルトの名無しさん [] 2017/07/17(月) 09:24:35.44 ID:3rVoB3WX >>787 jsとd.tsを同じ所に置けばおk angularとか参考になるよ http://mevius.5ch.net/test/read.cgi/tech/1430386649/788
789: デフォルトの名無しさん [sage] 2017/07/17(月) 12:07:57.24 ID:HJdOjxBV >>788 ありがとうざいます。js とd.tsは同じ場所においてます、、、、 ちょっとangularはわからなかったのですが rxjs5はoperatorをモジュール拡張の仕組みを使っているので参考になりました。 それを元に書いてるんですが、、、 どうしてもうまくいかないです。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/789
790: デフォルトの名無しさん [] 2017/07/17(月) 12:30:35.11 ID:3rVoB3WX >>789 npm rxjsした時のフォルダ構成とビルド結果が同じようにすればおk もちろんパッケージ.jspnとかもな http://mevius.5ch.net/test/read.cgi/tech/1430386649/790
791: デフォルトの名無しさん [sage] 2017/07/20(木) 13:43:30.16 ID:9ngnJ+y5 typescriptってユーザー数多そうなのに どこに生息してるん? teratailもあんまりいなさそうだし。slackとかかね? おせーてください http://mevius.5ch.net/test/read.cgi/tech/1430386649/791
792: デフォルトの名無しさん [sage] 2017/07/20(木) 15:04:36.06 ID:heFqzBlt typescript は google 社員御用達だぞ ここのレスも 99 割が google 社員のもの http://mevius.5ch.net/test/read.cgi/tech/1430386649/792
793: デフォルトの名無しさん [sage] 2017/07/20(木) 15:14:04.11 ID:9ngnJ+y5 MSとgoogleのマリアージュとか最高じゃないかな。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/793
794: デフォルトの名無しさん [] 2017/07/20(木) 17:31:24.01 ID:YwOQZRBC >>791 TypeScriptはほぼJSだから他の言語と違って特に質問するような事ないし… http://mevius.5ch.net/test/read.cgi/tech/1430386649/794
795: デフォルトの名無しさん [sage] 2017/07/20(木) 20:56:24.88 ID:9ngnJ+y5 >>794 定義ファイル周りとか結構悩むことない? 例えばreduxとかそのまま使うとTypeScriptの補完機能を活かしきれなくて typescript-fsaとかを使って補強してやると凄く調子良く動く。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/795
796: デフォルトの名無しさん [sage] 2017/07/28(金) 10:18:51.65 ID:O7VztC89 https://jp.vuejs.org/v2/guide/typescript.html vuejsもtypescriptとの親和性上がってるのかな。 昔はいまいちだったんだけど http://mevius.5ch.net/test/read.cgi/tech/1430386649/796
797: デフォルトの名無しさん [sage] 2017/07/28(金) 21:08:46.09 ID:O7VztC89 typescriptでjest使ってる人っています? 行番号がめちゃくちゃになっちゃうんですが、どうすればいいんですかね? inlinesoucrmap: trueにセットしても改善せず。 行番号以外は上手く動いてるんですけどね。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/797
798: デフォルトの名無しさん [sage] 2017/07/30(日) 23:55:24.33 ID:W7NHR4pI es2015とかes2017はどうかな? async await使えるの幸せ。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/798
799: デフォルトの名無しさん [sage] 2017/08/03(木) 14:06:03.33 ID:GUb8aQei さすが俺達のTypeScript TypeScripts Type System is Turing Complete https://github.com/Microsoft/TypeScript/issues/14833 http://mevius.5ch.net/test/read.cgi/tech/1430386649/799
800: デフォルトの名無しさん [sage] 2017/08/03(木) 19:19:00.00 ID:WxFDmNeE >>799 ジェネリグスだけでプログラミングできるってこと? わけわかめ http://mevius.5ch.net/test/read.cgi/tech/1430386649/800
801: デフォルトの名無しさん [sage] 2017/08/04(金) 00:27:45.60 ID:LmyTNXHn ようやくHTML+CSSに追いついたわけだな https://cpplover.blogspot.com/2013/10/blog-post_20.html http://mevius.5ch.net/test/read.cgi/tech/1430386649/801
802: デフォルトの名無しさん [sage] 2017/08/12(土) 11:10:59.59 ID:3DdLvbHE tsconfig.json で noImplicitAny をtrueにしてみたら、npmからのモジュールをimportしている部分で こういうエラーが大量に出るようになってしまった。 error TS7016: Could not find a declaration file for module 'モジュール名'. importをrequireに戻したら逆に不便だし、自分で .d.ts を用意するには数が多すぎて追いつかない。 noImplicitAny の対象を自分のコードのみに限定する(node_modules以下を対象外とする) なんてことはできないんだろうか。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/802
803: デフォルトの名無しさん [sage] 2017/08/12(土) 11:34:41.06 ID:DE4QKP9/ >>802 俺は普通に使えてるけどな。tsconfig全体を貼ってみたら? http://mevius.5ch.net/test/read.cgi/tech/1430386649/803
804: デフォルトの名無しさん [sage] 2017/08/12(土) 11:38:02.30 ID:DE4QKP9/ あと使ってるライブラリも。ライブラリによって違うのかな? 俺はreduxとかreactとかmoment.jsとかimmutable.jsとか色々入れてるけど 特にそういう不具合が起きたことはないな。 多分デフォルトでtsconfigの中身はnode_modules対象外な気がする。 一応聞くけどwebpack使ってないよね? http://mevius.5ch.net/test/read.cgi/tech/1430386649/804
805: デフォルトの名無しさん [sage] 2017/08/12(土) 11:51:37.20 ID:3DdLvbHE このへんのモジュールが引っ掛かった。全部じゃないけど。 react-spin cookie-parser uuid-parse >一応聞くけどwebpack使ってないよね? そう、webpack使ってる。 module: { rules: [ { exclude: /(node_modules)/, test: /\.[jt]s$/, use: [ { loader: 'ts-loader', options: { configFileName: "tsconfig.json", } } ] } ] }, tsconfig.json はこんな感じ。 { "compilerOptions": { "module": "commonjs", "target": "es6", "allowJs": true, "strictNullChecks": false, "noImplicitAny": false, "noImplicitThis": true, "noImplicitReturns": true, "sourceMap": true }, "exclude": [ "node_modules" ] } excludeの設定を間違えているのかな? http://mevius.5ch.net/test/read.cgi/tech/1430386649/805
806: デフォルトの名無しさん [sage] 2017/08/12(土) 15:39:16.07 ID:DE4QKP9/ なんだ、全部のd.tsが見つからないって言ってるわけじゃないなら、node_modules関係なくない? 足りないd.tsファイルは自作するしかないでしょ。インストールしたのに見つからないなら問題だけど http://mevius.5ch.net/test/read.cgi/tech/1430386649/806
807: デフォルトの名無しさん [sage] 2017/08/12(土) 15:56:35.18 ID:DE4QKP9/ webpackのresolveが抜けてるんじゃない? resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx'], modules: [ "node_modules/" ] }, http://mevius.5ch.net/test/read.cgi/tech/1430386649/807
808: デフォルトの名無しさん [sage] 2017/08/12(土) 16:09:16.06 ID:DE4QKP9/ >react-spin あとreact-spinは型定義にないみたいね。でもこれくらいなら五分で自作できるから大丈夫。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/808
809: デフォルトの名無しさん [sage] 2017/08/12(土) 18:30:45.13 ID:3DdLvbHE >>806 noImplicitAny = false なら .d.ts が無くても使えていたんで何か方法はないかと思ったけど、 無いならしょうがないね。ありがとう。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/809
810: デフォルトの名無しさん [sage] 2017/08/12(土) 19:23:03.92 ID:DE4QKP9/ >>809 いやいや。簡単だから諦めないでよ。特にreact-componentなら簡単に自作できる https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/material-ui-pagination/index.d.ts これとか参考になると思う http://mevius.5ch.net/test/read.cgi/tech/1430386649/810
811: デフォルトの名無しさん [sage] 2017/08/12(土) 19:49:53.59 ID:3DdLvbHE 最初に書いたとおり、単に数が多いからやってられんてだけ。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/811
812: デフォルトの名無しさん [sage] 2017/08/12(土) 19:58:06.64 ID:DE4QKP9/ >>811 あーなるほど失礼 もともとjs案件だったってこと? http://mevius.5ch.net/test/read.cgi/tech/1430386649/812
813: デフォルトの名無しさん [sage] 2017/08/13(日) 21:25:13.43 ID:LJmg41iW (new Error()).stack みたく 実行箇所のtsファイル名と行番号を取得する方法ってないですかね。 プリプロセッサみたくコンパイルする過程でファイル名と行番号に変換するような定数があればいいんですけど http://mevius.5ch.net/test/read.cgi/tech/1430386649/813
814: デフォルトの名無しさん [sage] 2017/08/15(火) 09:46:45.08 ID:yLrj+bDi o : any が"x"というメンバーを持っているか調べるのは if ("x" in o) でできるけど、 o.x の型がstringかどうか調べようと if (typeof o["x"] === "string") とやるとESlintの no-string-literalに引っかかってしまう。 このルールを無効にする以外にメンバーの型をチェックする方法ってないですかね? http://mevius.5ch.net/test/read.cgi/tech/1430386649/814
815: デフォルトの名無しさん [sage] 2017/08/15(火) 14:18:14.33 ID:tN8D0FqC >>814 無理 any型を使ってる時点でtsにできることは無い http://mevius.5ch.net/test/read.cgi/tech/1430386649/815
816: デフォルトの名無しさん [sage] 2017/08/15(火) 14:30:58.84 ID:Yyv6Foyi >>814 一旦変数に入れてからアクセスすればいいんじゃない const x = "x"; if (typeof o[x] === "string") { ... http://mevius.5ch.net/test/read.cgi/tech/1430386649/816
817: デフォルトの名無しさん [sage] 2017/08/15(火) 15:31:46.37 ID:yLrj+bDi >>816 なるほど、そんな方法が。うまくいったみたい。ありがとう。 使う直前で変数に入れるならdisableにするのとさほど変わらないけど、メンバー名はどこかで 一元管理しておけってことかな。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/817
818: デフォルトの名無しさん [sage] 2017/08/15(火) 17:11:17.08 ID:tN8D0FqC >>817 単に変数oにinterface定義してあげればいいだけでは。 そもそもtslintじゃなくてeslint使っているという状況もよくわからない http://mevius.5ch.net/test/read.cgi/tech/1430386649/818
819: デフォルトの名無しさん [sage] 2017/08/15(火) 17:54:36.31 ID:yLrj+bDi あぁ、eslintって書いたのはtslintの間違い。 >単に変数oにinterface定義してあげればいいだけでは。 ネットワークやファイル経由のjsonとか、型情報が落とされたオブジェクトからの復元なんで。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/819
820: デフォルトの名無しさん [sage] 2017/08/15(火) 23:34:39.69 ID:Yyv6Foyi >>818 いや静的型チェックと実行時型チェックをごっちゃにしちゃダメでしょ TypeScriptは静的型チェックを提供するものなんだから実行時型チェックにinterfaceなんて持ち出す道理がない http://mevius.5ch.net/test/read.cgi/tech/1430386649/820
821: デフォルトの名無しさん [sage] 2017/08/17(木) 11:02:47.05 ID:wX4L2Jep >>820 そうだったね。ごめん http://mevius.5ch.net/test/read.cgi/tech/1430386649/821
822: デフォルトの名無しさん [sage] 2017/08/22(火) 22:13:44.37 ID:/ptFhj0b TSの環境の開発の旗振りって誰? いつになったら開発環境が安定するの? webの情報のほとんどが古くて使えない http://mevius.5ch.net/test/read.cgi/tech/1430386649/822
823: デフォルトの名無しさん [sage] 2017/08/22(火) 22:37:14.07 ID:1PU0SC+v まずVSCodeをインストール npmでts2.xをインストール 型定義は@types/xxxxxxx http://mevius.5ch.net/test/read.cgi/tech/1430386649/823
824: デフォルトの名無しさん [sage] 2017/08/23(水) 13:19:39.56 ID:12Hdps1J msで作ってるから、まずはmsの開発環境試してみればいいんだろうけど、 大元の実装が不安定だったりするの? https://github.com/Microsoft/TypeScript/wiki/Architectural-Overview http://mevius.5ch.net/test/read.cgi/tech/1430386649/824
825: デフォルトの名無しさん [sage] 2017/08/23(水) 13:23:34.59 ID:YtvD4LeH TypeScriptの実装じゃなくて環境の方だろ? 型定義ファイルもTypingsとか@typesとかいろいろ変遷してきたし http://mevius.5ch.net/test/read.cgi/tech/1430386649/825
826: デフォルトの名無しさん [sage] 2017/08/23(水) 19:59:00.18 ID:KTb6BBkr TypeScript1.0が出たころ何冊も本が書かれたけど、その後どんどん進化するから誰も手を出さなくなったな。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/826
827: デフォルトの名無しさん [sage] 2017/08/23(水) 20:36:30.14 ID:CbozNT9/ 進化に関係なく使う人が居て需要があれば本は出される 出されないってことは・・そういうことだ http://mevius.5ch.net/test/read.cgi/tech/1430386649/827
828: デフォルトの名無しさん [sage] 2017/08/25(金) 02:06:21.27 ID:+9ilYHDI ジェネリクスで教えてほしいことがあるんですが 型がundefinedかそうでないかで処理分岐をしたいんですがどうすればいいでしょうか https://goo.gl/L6wazS 上記のようなコードはジェネリクスだとPはコンパイル時に解決されるものだからダメですよね。 じゃあどうすればいいんでしょうか。 もちろん引数にpayload:P みたいなのがあればtypeGaurdが使えるんですけど、それがない場合は? http://mevius.5ch.net/test/read.cgi/tech/1430386649/828
829: デフォルトの名無しさん [sage] 2017/08/25(金) 07:45:31.16 ID:HjHZR7Zb 試してないけど、Pのローカル変数を置いてみるのは? 初期化できないとダメかな。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/829
830: デフォルトの名無しさん [sage] 2017/08/25(金) 09:42:23.66 ID:WV+v2bcZ コンパイル時に型自体の比較が出来ればいいんだけどねぇ http://mevius.5ch.net/test/read.cgi/tech/1430386649/830
831: デフォルトの名無しさん [sage] 2017/08/25(金) 12:42:23.60 ID:ai11peC4 型がundefinedって言うのは違うのでは? 変数がundefinedならわかるけど考え方の次元が違う気がする Add<undefined>(item);ってありえないだろ http://mevius.5ch.net/test/read.cgi/tech/1430386649/831
832: デフォルトの名無しさん [sage] 2017/08/25(金) 18:31:01.83 ID:uvmzLTaY undefinedの型はundefinedだよ http://mevius.5ch.net/test/read.cgi/tech/1430386649/832
833: デフォルトの名無しさん [sage] 2017/08/25(金) 21:39:57.29 ID:+9ilYHDI >>831 undefined型、null型あります http://mevius.5ch.net/test/read.cgi/tech/1430386649/833
834: デフォルトの名無しさん [sage] 2017/08/26(土) 04:59:29.39 ID:FZcG7krL undefined null void never 使い分け出来てる? http://mevius.5ch.net/test/read.cgi/tech/1430386649/834
835: デフォルトの名無しさん [sage] 2017/08/27(日) 13:34:52.17 ID:0P4eY3kj >>829 だめでしたわ。やはり最終的に生成されるjsコードが型がないからなにもないところに型を定義するのは無理っぽい ジェネリクスって使う側には幸せだけどライブラリを作ろうって思うとなかなか難しいす。 実は以下のコードが小さくて見やすいので改造できないか試しているんです。 https://github.com/aikoven/typescript-fsa/blob/master/src/index.ts store.dispatch(someAction()) というように同期型のアクションを作るときはパラメータ引数無しで使えるんだけど 非同期アクションを使おうとした場合はパラメータ引数なしの表現ができないんですよ。 store.dispatch(someAsyncAction.started(undefined)) と書かなきゃけない。 ここのundefinedを省略する方法を探っていたんですよね。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/835
836: デフォルトの名無しさん [sage] 2017/08/27(日) 13:49:39.35 ID:0iS30aa2 そもそも何がしたいのかわからないんだけど 引数追加したいけないのか? http://mevius.5ch.net/test/read.cgi/tech/1430386649/836
837: デフォルトの名無しさん [sage] 2017/08/27(日) 13:55:46.03 ID:0iS30aa2 レス見てなかった ごめんごめん http://mevius.5ch.net/test/read.cgi/tech/1430386649/837
838: デフォルトの名無しさん [sage] 2017/08/27(日) 14:17:00.38 ID:iBnNI7N6 引数にPが含まれていない以上呼び出し時の型パラメータはハードコーディングしなきゃならんわけで、 それならOnlyH用の関数と分けてしまっても大して変わらんだろう。処理自体は共通化すればいいし。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/838
839: デフォルトの名無しさん [sage] 2017/08/27(日) 14:23:58.62 ID:0iS30aa2 ところで本当にこれジェネリックの問題? http://mevius.5ch.net/test/read.cgi/tech/1430386649/839
840: デフォルトの名無しさん [sage] 2017/08/27(日) 14:27:48.95 ID:wLayuApT C++でならテンプレートの特殊化で書けるし書きたい気持ちはよく分かる http://mevius.5ch.net/test/read.cgi/tech/1430386649/840
841: デフォルトの名無しさん [sage] 2017/08/27(日) 17:42:23.47 ID:0P4eY3kj >>838 もちろんそれならできることは確認してますが、それだったら引数にundefined 許容したほうがいいかなーと。 ジェネリクスは知らないことが色々ありそうなんでもしかしたら解決方法があればと想ったんですが、、、、 typescriptの進化を待ちます、、、。 >>840 c++だとできるんですか。 どう書くのか知りたいです http://mevius.5ch.net/test/read.cgi/tech/1430386649/841
842: デフォルトの名無しさん [sage] 2017/08/27(日) 21:19:13.07 ID:wLayuApT >>841 何というかC++のテンプレートは強力過ぎる Boost::Spiritみたいにコンパイル時に構文解析器を生成するような変態的なことさえ可能 ただしコンパイル時間は死ぬ ttps://ideone.com/6V11EP C++っぽくないコードだけどとりあえず http://mevius.5ch.net/test/read.cgi/tech/1430386649/842
843: デフォルトの名無しさん [sage] 2017/08/27(日) 21:38:06.45 ID:0P4eY3kj >>842 わ、わかんないです。c++昔使ったことがあるから分かるかと思ったら全然わからなかったという。 でも、ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/843
844: デフォルトの名無しさん [] 2017/08/28(月) 18:40:12.12 ID:g1F8jR1j import 'reflect-metadata'; function logType(target: any, key: string) { var t = Reflect.getMetadata('design:type', target, key); console.log(`${key} type: ${t.name}`); } class Demo { @logType public attr1: string; } Visual Studio 2017 で上記のビルドは問題ないのですが 実行すると、「exports は定義されていません」と出てしまいます。 tsconfig.json で "experimentalDecorators": true, "emitDecoratorMetadata": true, は指定しています。 何か足りないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1430386649/844
845: デフォルトの名無しさん [sage] 2017/08/28(月) 20:16:46.01 ID:3Zs55+dM >>844 実行環境が書いてないから正確にはわからんのだけど chromeとかブラウザ環境のjsはモジュール管理機構が無いからwebpackとか使わないと直接は実行できない。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/845
846: デフォルトの名無しさん [sage] 2017/08/30(水) 15:24:22.43 ID:0nj0F5xg 初心者なんだけど質問いいだろうか? JS使う必要ある→ES5以前気持ち悪い→ES6未対応多い という流れでTypeScript勉強しようかと思ったんだけど、手元にある本が分かりやすいけど1.0対応なんだ 追加機能を順に追えば問題ないだろうと思ったんだけど、更新箇所が多岐にわたるためか結構面倒で ある程度網羅してそうなのも1.0からは追ってなかったりして、少し悩んでる バージョンごとの差分を丁寧にまとめてくれているサイトか、 最新に近いバージョンを網羅的に解説してるサイトを、差分を意識しながら読もうかと思ってるんだけど、 慣れてる者の視点で、なんかいいサイト or 書籍があったら教えてくれないか? http://mevius.5ch.net/test/read.cgi/tech/1430386649/846
847: デフォルトの名無しさん [sage] 2017/08/30(水) 15:36:04.15 ID:KRZoTQ7y 公式のWhat's newがベスト 差分付き公式アナウンスの日本語訳もあったはず http://mevius.5ch.net/test/read.cgi/tech/1430386649/847
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 155 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s