http://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.
前スレ
http://peace.2ch.net/test/read.cgi/tech/1349187527/
探検
TypeScript part2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2015/04/30(木) 18:37:29.98ID:ynMflk1l751デフォルトの名無しさん
2017/06/22(木) 17:18:45.24ID:77+4f1XL >>750
そうなんですけどリスナーのイベント指定がclickではなくchnageだったってことです。
https://goo.gl/QHZCsG
before
i.addEventListener(‘click’, async (e) => {
after
i.addEventListener('change', async (e) => {
そうなんですけどリスナーのイベント指定がclickではなくchnageだったってことです。
https://goo.gl/QHZCsG
before
i.addEventListener(‘click’, async (e) => {
after
i.addEventListener('change', async (e) => {
752デフォルトの名無しさん
2017/06/22(木) 18:30:45.28ID:b2Lz7aux753デフォルトの名無しさん
2017/06/22(木) 19:47:44.81ID:77+4f1XL754デフォルトの名無しさん
2017/06/22(木) 20:06:21.77ID:u6z6+xvR755デフォルトの名無しさん
2017/06/24(土) 00:04:21.44ID:7kzB7ca0 typescriptでreduxのミドルウェア書いてる人っていませんか?
export interface Middleware {
<S>(api: MiddlewareAPI<S>): (next: Dispatch<S>) => Dispatch<S>;
}
上記interfaceを満たすコードを書けなくて困ってます。サンプルコード的なのどっかにないですかね?
export interface Middleware {
<S>(api: MiddlewareAPI<S>): (next: Dispatch<S>) => Dispatch<S>;
}
上記interfaceを満たすコードを書けなくて困ってます。サンプルコード的なのどっかにないですかね?
756デフォルトの名無しさん
2017/06/25(日) 15:04:59.28ID:k1gomwYO reduxってreact関係の何かなのかな?
相変わらずreactの作法は意味不明
流行らずに消えてほしい
相変わらずreactの作法は意味不明
流行らずに消えてほしい
757デフォルトの名無しさん
2017/06/25(日) 15:18:46.73ID:dKXT3hQ7 すみません
今パッケージングというのかライブラリのシステムは何を使うのが正解何ですか?
electronやってみようと思ってタイプライブラリをいれようと思っていろいろなサイト見てやってるんですが
どれも失敗します
今の定番の方法を紹介してるサイトってありませんか?
それとも今は時期がまずいんでしょうか?
今パッケージングというのかライブラリのシステムは何を使うのが正解何ですか?
electronやってみようと思ってタイプライブラリをいれようと思っていろいろなサイト見てやってるんですが
どれも失敗します
今の定番の方法を紹介してるサイトってありませんか?
それとも今は時期がまずいんでしょうか?
758デフォルトの名無しさん
2017/06/25(日) 16:41:50.61ID:OCPIhIaN npm -i @types/XXXX
759デフォルトの名無しさん
2017/06/25(日) 17:11:28.11ID:k1gomwYO >>757
よくわからないけどelectronのtypescript開発は少しややこしい
メインプロセス側と画面側でプロジェクト分けるのが主流で、メインプロセス側はgulpビルド、画面側はwebpackビルドみたいになって少しややこしい
よくわからないけどelectronのtypescript開発は少しややこしい
メインプロセス側と画面側でプロジェクト分けるのが主流で、メインプロセス側はgulpビルド、画面側はwebpackビルドみたいになって少しややこしい
760デフォルトの名無しさん
2017/06/25(日) 19:32:19.06ID:o1GCb4AX 回答ありがとうございました
もうしばらく待ってみます
もうしばらく待ってみます
761デフォルトの名無しさん
2017/06/26(月) 10:42:55.52ID:B+I0vs4D >>756
はやっちゃってるんだよなぁ。
React自体は凄くTypeScriptとの親和性は高い。というかむしろ推奨しているくらい。
ただReduxはTypeScriptからどう使えばいいのかよくわからなくて
はやっちゃってるんだよなぁ。
React自体は凄くTypeScriptとの親和性は高い。というかむしろ推奨しているくらい。
ただReduxはTypeScriptからどう使えばいいのかよくわからなくて
762デフォルトの名無しさん
2017/06/26(月) 15:37:27.06ID:B+I0vs4D >>755
自己解決したので書いておきます
ただのロガーの場合
import { Action } from 'actions';
import { State } from 'reducers';
export function myMiddleware(store: redux.MiddlewareAPI<State>):
(next: redux.Dispatch<State>) => redux.Dispatch<State> {
return (next: redux.Dispatch<State>) => (action: Action): Action => {
console.log(store.getState());
let result = next(action);
console.log(store.getState());
return result;
};
}
自己解決したので書いておきます
ただのロガーの場合
import { Action } from 'actions';
import { State } from 'reducers';
export function myMiddleware(store: redux.MiddlewareAPI<State>):
(next: redux.Dispatch<State>) => redux.Dispatch<State> {
return (next: redux.Dispatch<State>) => (action: Action): Action => {
console.log(store.getState());
let result = next(action);
console.log(store.getState());
return result;
};
}
763デフォルトの名無しさん
2017/06/27(火) 16:22:46.76ID:xkXC4vKS typescriptで書かれてる有名なライブラリって何があるの?
Rx.jsはtypeScriptで書かれてたね。
Rx.jsはtypeScriptで書かれてたね。
764デフォルトの名無しさん
2017/06/27(火) 16:42:32.21ID:mpuQzI8/ フレームワークだけどngx
765デフォルトの名無しさん
2017/06/27(火) 18:35:39.52ID:5NUjqPYf Dartどっかいったな
766デフォルトの名無しさん
2017/06/27(火) 19:04:32.75ID:mpuQzI8/ googleが作る言語はゴミばっかだからしゃーない
言語のセンスは圧倒的にMSの方が上
MSというよりヘルスバーグが有能すぎる
言語のセンスは圧倒的にMSの方が上
MSというよりヘルスバーグが有能すぎる
767デフォルトの名無しさん
2017/06/27(火) 22:13:14.24ID:xkXC4vKS768デフォルトの名無しさん
2017/06/27(火) 22:20:02.75ID:rQeMEWtY J++とかJ#とかManaged C++とか割と救いようのないものも作ってるけどねMicrosoft
でも全体としては確かに良い言語が多い印象
Googleの言語もGoとか(使ったことないけど)人気みたいだし, そもそも作った言語の数が大分違う気が
でも全体としては確かに良い言語が多い印象
Googleの言語もGoとか(使ったことないけど)人気みたいだし, そもそも作った言語の数が大分違う気が
769デフォルトの名無しさん
2017/06/27(火) 23:37:36.64ID:mpuQzI8/ >>767
ジェネリクス追加されるまでは様子見…
ジェネリクス追加されるまでは様子見…
770デフォルトの名無しさん
2017/06/28(水) 03:33:15.38ID:4SuBLGV6 マイクロソフトはvsc出したときはなんでatomの二番煎じやってんのって思ったけどやはり製品としての完成度高くて感動する。
開発環境作らせたら最強と言う噂は伊達じゃない。
開発環境作らせたら最強と言う噂は伊達じゃない。
771デフォルトの名無しさん
2017/06/28(水) 09:12:54.31ID:9HmGLvwZ >>763
angular2
angular2
772デフォルトの名無しさん
2017/06/28(水) 14:22:19.39ID:R0ZTQr0d Announcing TypeScript 2.4
https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/
https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/
773デフォルトの名無しさん
2017/06/28(水) 16:15:00.25ID:7uiFkJf0 MSは言語と開発環境では最強
ネットや機械学習ならGoogle
アップルは…嫌い
ネットや機械学習ならGoogle
アップルは…嫌い
774デフォルトの名無しさん
2017/06/28(水) 16:19:23.04ID:DxMay05+ MSは言語と開発環境では最強
ネットや機械学習ならGoogle
アップルは…嫌い
ネットや機械学習ならGoogle
アップルは…嫌い
775デフォルトの名無しさん
2017/06/28(水) 16:28:12.57ID:7uiFkJf0 >>774
何こいつ怖い
何こいつ怖い
776デフォルトの名無しさん
2017/06/29(木) 16:13:29.70ID: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の内容変更に合わせて自動的に作る方法ってないですかね
例えば以下のようにアクションを定義してあったとして
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の内容変更に合わせて自動的に作る方法ってないですかね
777デフォルトの名無しさん
2017/06/29(木) 16:20:59.60ID: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'];
思いの外簡単であった
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'];
思いの外簡単であった
778デフォルトの名無しさん
2017/07/10(月) 13:26:30.50ID: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に指定は駄目ってことらしい。
上記エラーメッセージからどう読み取ればそういうことなわけ?
(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に指定は駄目ってことらしい。
上記エラーメッセージからどう読み取ればそういうことなわけ?
779デフォルトの名無しさん
2017/07/10(月) 19:20:13.57ID:lPQJaLkK template登場したての頃のc++みたいだな
780デフォルトの名無しさん
2017/07/12(水) 20:52:57.67ID:iKt9vtZC @typesやパッケージ自身が持っているd.tsに問題があるとき、自分のプロジェクト内で
部分的に修正版と差し替えたりできないのかな?
Typescript2.4に上げたらいくつかのパッケージがエラーを出すようになってしまったんで
大元が対応するまでの間ちょっと回避したいんだが。
部分的に修正版と差し替えたりできないのかな?
Typescript2.4に上げたらいくつかのパッケージがエラーを出すようになってしまったんで
大元が対応するまでの間ちょっと回避したいんだが。
781デフォルトの名無しさん
2017/07/12(水) 21:44:01.43ID:46U9BX05782デフォルトの名無しさん
2017/07/12(水) 22:50:59.04ID:iKt9vtZC リンク先のそれは解決法として正しいのかという疑問はあるがとりあえず、declareで
定義を上書きできるということかな。試してみるわ。ありがとう。
定義を上書きできるということかな。試してみるわ。ありがとう。
783デフォルトの名無しさん
2017/07/13(木) 12:11:08.28ID:SeGC5rTL ここでredux-observale薦めてもらったのもあって試してるんだけど
epicを書く時 action$.ofType('FIRST’)って書いてfilterするのはいいんだけど返ってくる
Observaleがtype:’FIRST’に絞り込められてくれない。
無理やりキャストして使えってこと?
いい方法教えてください
epicを書く時 action$.ofType('FIRST’)って書いてfilterするのはいいんだけど返ってくる
Observaleがtype:’FIRST’に絞り込められてくれない。
無理やりキャストして使えってこと?
いい方法教えてください
784デフォルトの名無しさん
2017/07/14(金) 00:10:59.94ID:UTvPeefr VS2017は2015と違ってJavaScriptで
var a = {};
a.b = 1;
と書いてその下に「a.」と入力しても候補にnumber型プロパティとしてのbはない
TypeScriptのnamespaceがブラウザの生JavaScriptでも使えるようになったら便利そうなんだけどな
var a = {};
a.b = 1;
と書いてその下に「a.」と入力しても候補にnumber型プロパティとしてのbはない
TypeScriptのnamespaceがブラウザの生JavaScriptでも使えるようになったら便利そうなんだけどな
785デフォルトの名無しさん
2017/07/14(金) 15:42:06.74ID:AYnLv9ir >>782
いやいや。具体的に指摘してほしいな。
reduxのactionは基本的にobjectであれば何でもあり。というスタンスのもので
そのactionに継承関係を設定してるのはたまたま定義ファイルの作者がなんとなく決めた程度のものでしかない。
となると元々の定義を修正してしまっても不都合はないと思うんだが。
更にいうとreduxのmiddlewareの定義ファイルも、結構declareで大元のreudxの定義を改変してる。
(redux-thunkとかredux-promiseとか)
いやいや。具体的に指摘してほしいな。
reduxのactionは基本的にobjectであれば何でもあり。というスタンスのもので
そのactionに継承関係を設定してるのはたまたま定義ファイルの作者がなんとなく決めた程度のものでしかない。
となると元々の定義を修正してしまっても不都合はないと思うんだが。
更にいうとreduxのmiddlewareの定義ファイルも、結構declareで大元のreudxの定義を改変してる。
(redux-thunkとかredux-promiseとか)
786デフォルトの名無しさん
2017/07/14(金) 22:07:24.48ID:Ukk3qL4L 「具体的に」と言っている当人が具体的にに何を指摘しているのかわからない件
787デフォルトの名無しさん
2017/07/17(月) 02:22:25.78ID:HJdOjxBV モジュール拡張書いてる人っていますか?
ローカルではうまく書けるんだけど、
npmで管理して外部モジュール化しようとするとうまく動かなくなる。
jsとd.tsに別れるとだめなんだろうか、、、、。
なんか参考になるnpmライブラリが有るなら事に教えてくださいm(_ _)m
ローカルではうまく書けるんだけど、
npmで管理して外部モジュール化しようとするとうまく動かなくなる。
jsとd.tsに別れるとだめなんだろうか、、、、。
なんか参考になるnpmライブラリが有るなら事に教えてくださいm(_ _)m
788デフォルトの名無しさん
2017/07/17(月) 09:24:35.44ID:3rVoB3WX789デフォルトの名無しさん
2017/07/17(月) 12:07:57.24ID:HJdOjxBV >>788
ありがとうざいます。js とd.tsは同じ場所においてます、、、、
ちょっとangularはわからなかったのですが
rxjs5はoperatorをモジュール拡張の仕組みを使っているので参考になりました。
それを元に書いてるんですが、、、
どうしてもうまくいかないです。
ありがとうざいます。js とd.tsは同じ場所においてます、、、、
ちょっとangularはわからなかったのですが
rxjs5はoperatorをモジュール拡張の仕組みを使っているので参考になりました。
それを元に書いてるんですが、、、
どうしてもうまくいかないです。
790デフォルトの名無しさん
2017/07/17(月) 12:30:35.11ID:3rVoB3WX791デフォルトの名無しさん
2017/07/20(木) 13:43:30.16ID:9ngnJ+y5 typescriptってユーザー数多そうなのに
どこに生息してるん?
teratailもあんまりいなさそうだし。slackとかかね?
おせーてください
どこに生息してるん?
teratailもあんまりいなさそうだし。slackとかかね?
おせーてください
792デフォルトの名無しさん
2017/07/20(木) 15:04:36.06ID:heFqzBlt typescript は google 社員御用達だぞ
ここのレスも 99 割が google 社員のもの
ここのレスも 99 割が google 社員のもの
793デフォルトの名無しさん
2017/07/20(木) 15:14:04.11ID:9ngnJ+y5 MSとgoogleのマリアージュとか最高じゃないかな。
794デフォルトの名無しさん
2017/07/20(木) 17:31:24.01ID:YwOQZRBC >>791
TypeScriptはほぼJSだから他の言語と違って特に質問するような事ないし…
TypeScriptはほぼJSだから他の言語と違って特に質問するような事ないし…
795デフォルトの名無しさん
2017/07/20(木) 20:56:24.88ID:9ngnJ+y5 >>794
定義ファイル周りとか結構悩むことない?
例えばreduxとかそのまま使うとTypeScriptの補完機能を活かしきれなくて
typescript-fsaとかを使って補強してやると凄く調子良く動く。
定義ファイル周りとか結構悩むことない?
例えばreduxとかそのまま使うとTypeScriptの補完機能を活かしきれなくて
typescript-fsaとかを使って補強してやると凄く調子良く動く。
796デフォルトの名無しさん
2017/07/28(金) 10:18:51.65ID:O7VztC89797デフォルトの名無しさん
2017/07/28(金) 21:08:46.09ID:O7VztC89 typescriptでjest使ってる人っています?
行番号がめちゃくちゃになっちゃうんですが、どうすればいいんですかね?
inlinesoucrmap: trueにセットしても改善せず。
行番号以外は上手く動いてるんですけどね。
行番号がめちゃくちゃになっちゃうんですが、どうすればいいんですかね?
inlinesoucrmap: trueにセットしても改善せず。
行番号以外は上手く動いてるんですけどね。
798デフォルトの名無しさん
2017/07/30(日) 23:55:24.33ID:W7NHR4pI es2015とかes2017はどうかな?
async await使えるの幸せ。
async await使えるの幸せ。
799デフォルトの名無しさん
2017/08/03(木) 14:06:03.33ID:GUb8aQei さすが俺達のTypeScript
TypeScripts Type System is Turing Complete
https://github.com/Microsoft/TypeScript/issues/14833
TypeScripts Type System is Turing Complete
https://github.com/Microsoft/TypeScript/issues/14833
800デフォルトの名無しさん
2017/08/03(木) 19:19:00.00ID:WxFDmNeE801デフォルトの名無しさん
2017/08/04(金) 00:27:45.60ID:LmyTNXHn ようやくHTML+CSSに追いついたわけだな
https://cpplover.blogspot.com/2013/10/blog-post_20.html
https://cpplover.blogspot.com/2013/10/blog-post_20.html
802デフォルトの名無しさん
2017/08/12(土) 11:10:59.59ID:3DdLvbHE tsconfig.json で noImplicitAny をtrueにしてみたら、npmからのモジュールをimportしている部分で
こういうエラーが大量に出るようになってしまった。
error TS7016: Could not find a declaration file for module 'モジュール名'.
importをrequireに戻したら逆に不便だし、自分で .d.ts を用意するには数が多すぎて追いつかない。
noImplicitAny の対象を自分のコードのみに限定する(node_modules以下を対象外とする)
なんてことはできないんだろうか。
こういうエラーが大量に出るようになってしまった。
error TS7016: Could not find a declaration file for module 'モジュール名'.
importをrequireに戻したら逆に不便だし、自分で .d.ts を用意するには数が多すぎて追いつかない。
noImplicitAny の対象を自分のコードのみに限定する(node_modules以下を対象外とする)
なんてことはできないんだろうか。
803デフォルトの名無しさん
2017/08/12(土) 11:34:41.06ID:DE4QKP9/ >>802
俺は普通に使えてるけどな。tsconfig全体を貼ってみたら?
俺は普通に使えてるけどな。tsconfig全体を貼ってみたら?
804デフォルトの名無しさん
2017/08/12(土) 11:38:02.30ID:DE4QKP9/ あと使ってるライブラリも。ライブラリによって違うのかな?
俺はreduxとかreactとかmoment.jsとかimmutable.jsとか色々入れてるけど
特にそういう不具合が起きたことはないな。
多分デフォルトでtsconfigの中身はnode_modules対象外な気がする。
一応聞くけどwebpack使ってないよね?
俺はreduxとかreactとかmoment.jsとかimmutable.jsとか色々入れてるけど
特にそういう不具合が起きたことはないな。
多分デフォルトでtsconfigの中身はnode_modules対象外な気がする。
一応聞くけどwebpack使ってないよね?
805デフォルトの名無しさん
2017/08/12(土) 11:51:37.20ID: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の設定を間違えているのかな?
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の設定を間違えているのかな?
806デフォルトの名無しさん
2017/08/12(土) 15:39:16.07ID:DE4QKP9/ なんだ、全部のd.tsが見つからないって言ってるわけじゃないなら、node_modules関係なくない?
足りないd.tsファイルは自作するしかないでしょ。インストールしたのに見つからないなら問題だけど
足りないd.tsファイルは自作するしかないでしょ。インストールしたのに見つからないなら問題だけど
807デフォルトの名無しさん
2017/08/12(土) 15:56:35.18ID:DE4QKP9/ webpackのresolveが抜けてるんじゃない?
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
modules: [
"node_modules/"
]
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
modules: [
"node_modules/"
]
},
808デフォルトの名無しさん
2017/08/12(土) 16:09:16.06ID:DE4QKP9/ >react-spin
あとreact-spinは型定義にないみたいね。でもこれくらいなら五分で自作できるから大丈夫。
あとreact-spinは型定義にないみたいね。でもこれくらいなら五分で自作できるから大丈夫。
809デフォルトの名無しさん
2017/08/12(土) 18:30:45.13ID:3DdLvbHE810デフォルトの名無しさん
2017/08/12(土) 19:23:03.92ID:DE4QKP9/ >>809
いやいや。簡単だから諦めないでよ。特にreact-componentなら簡単に自作できる
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/material-ui-pagination/index.d.ts
これとか参考になると思う
いやいや。簡単だから諦めないでよ。特にreact-componentなら簡単に自作できる
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/material-ui-pagination/index.d.ts
これとか参考になると思う
811デフォルトの名無しさん
2017/08/12(土) 19:49:53.59ID:3DdLvbHE 最初に書いたとおり、単に数が多いからやってられんてだけ。
812デフォルトの名無しさん
2017/08/12(土) 19:58:06.64ID:DE4QKP9/813デフォルトの名無しさん
2017/08/13(日) 21:25:13.43ID:LJmg41iW (new Error()).stack みたく 実行箇所のtsファイル名と行番号を取得する方法ってないですかね。
プリプロセッサみたくコンパイルする過程でファイル名と行番号に変換するような定数があればいいんですけど
プリプロセッサみたくコンパイルする過程でファイル名と行番号に変換するような定数があればいいんですけど
814デフォルトの名無しさん
2017/08/15(火) 09:46:45.08ID:yLrj+bDi o : any が"x"というメンバーを持っているか調べるのは if ("x" in o) でできるけど、
o.x の型がstringかどうか調べようと if (typeof o["x"] === "string") とやるとESlintの
no-string-literalに引っかかってしまう。
このルールを無効にする以外にメンバーの型をチェックする方法ってないですかね?
o.x の型がstringかどうか調べようと if (typeof o["x"] === "string") とやるとESlintの
no-string-literalに引っかかってしまう。
このルールを無効にする以外にメンバーの型をチェックする方法ってないですかね?
815デフォルトの名無しさん
2017/08/15(火) 14:18:14.33ID:tN8D0FqC >>814
無理 any型を使ってる時点でtsにできることは無い
無理 any型を使ってる時点でtsにできることは無い
816デフォルトの名無しさん
2017/08/15(火) 14:30:58.84ID:Yyv6Foyi817デフォルトの名無しさん
2017/08/15(火) 15:31:46.37ID:yLrj+bDi818デフォルトの名無しさん
2017/08/15(火) 17:11:17.08ID:tN8D0FqC819デフォルトの名無しさん
2017/08/15(火) 17:54:36.31ID:yLrj+bDi あぁ、eslintって書いたのはtslintの間違い。
>単に変数oにinterface定義してあげればいいだけでは。
ネットワークやファイル経由のjsonとか、型情報が落とされたオブジェクトからの復元なんで。
>単に変数oにinterface定義してあげればいいだけでは。
ネットワークやファイル経由のjsonとか、型情報が落とされたオブジェクトからの復元なんで。
820デフォルトの名無しさん
2017/08/15(火) 23:34:39.69ID:Yyv6Foyi821デフォルトの名無しさん
2017/08/17(木) 11:02:47.05ID:wX4L2Jep >>820
そうだったね。ごめん
そうだったね。ごめん
822デフォルトの名無しさん
2017/08/22(火) 22:13:44.37ID:/ptFhj0b TSの環境の開発の旗振りって誰?
いつになったら開発環境が安定するの?
webの情報のほとんどが古くて使えない
いつになったら開発環境が安定するの?
webの情報のほとんどが古くて使えない
823デフォルトの名無しさん
2017/08/22(火) 22:37:14.07ID:1PU0SC+v まずVSCodeをインストール
npmでts2.xをインストール
型定義は@types/xxxxxxx
npmでts2.xをインストール
型定義は@types/xxxxxxx
824デフォルトの名無しさん
2017/08/23(水) 13:19:39.56ID:12Hdps1J msで作ってるから、まずはmsの開発環境試してみればいいんだろうけど、
大元の実装が不安定だったりするの?
https://github.com/Microsoft/TypeScript/wiki/Architectural-Overview
大元の実装が不安定だったりするの?
https://github.com/Microsoft/TypeScript/wiki/Architectural-Overview
825デフォルトの名無しさん
2017/08/23(水) 13:23:34.59ID:YtvD4LeH TypeScriptの実装じゃなくて環境の方だろ?
型定義ファイルもTypingsとか@typesとかいろいろ変遷してきたし
型定義ファイルもTypingsとか@typesとかいろいろ変遷してきたし
826デフォルトの名無しさん
2017/08/23(水) 19:59:00.18ID:KTb6BBkr TypeScript1.0が出たころ何冊も本が書かれたけど、その後どんどん進化するから誰も手を出さなくなったな。
827デフォルトの名無しさん
2017/08/23(水) 20:36:30.14ID:CbozNT9/ 進化に関係なく使う人が居て需要があれば本は出される
出されないってことは・・そういうことだ
出されないってことは・・そういうことだ
828デフォルトの名無しさん
2017/08/25(金) 02:06:21.27ID:+9ilYHDI ジェネリクスで教えてほしいことがあるんですが
型がundefinedかそうでないかで処理分岐をしたいんですがどうすればいいでしょうか
https://goo.gl/L6wazS
上記のようなコードはジェネリクスだとPはコンパイル時に解決されるものだからダメですよね。
じゃあどうすればいいんでしょうか。
もちろん引数にpayload:P みたいなのがあればtypeGaurdが使えるんですけど、それがない場合は?
型がundefinedかそうでないかで処理分岐をしたいんですがどうすればいいでしょうか
https://goo.gl/L6wazS
上記のようなコードはジェネリクスだとPはコンパイル時に解決されるものだからダメですよね。
じゃあどうすればいいんでしょうか。
もちろん引数にpayload:P みたいなのがあればtypeGaurdが使えるんですけど、それがない場合は?
829デフォルトの名無しさん
2017/08/25(金) 07:45:31.16ID:HjHZR7Zb 試してないけど、Pのローカル変数を置いてみるのは?
初期化できないとダメかな。
初期化できないとダメかな。
830デフォルトの名無しさん
2017/08/25(金) 09:42:23.66ID:WV+v2bcZ コンパイル時に型自体の比較が出来ればいいんだけどねぇ
831デフォルトの名無しさん
2017/08/25(金) 12:42:23.60ID:ai11peC4 型がundefinedって言うのは違うのでは?
変数がundefinedならわかるけど考え方の次元が違う気がする
Add<undefined>(item);ってありえないだろ
変数がundefinedならわかるけど考え方の次元が違う気がする
Add<undefined>(item);ってありえないだろ
832デフォルトの名無しさん
2017/08/25(金) 18:31:01.83ID:uvmzLTaY undefinedの型はundefinedだよ
833デフォルトの名無しさん
2017/08/25(金) 21:39:57.29ID:+9ilYHDI >>831
undefined型、null型あります
undefined型、null型あります
834デフォルトの名無しさん
2017/08/26(土) 04:59:29.39ID:FZcG7krL undefined null void never 使い分け出来てる?
835デフォルトの名無しさん
2017/08/27(日) 13:34:52.17ID:0P4eY3kj >>829
だめでしたわ。やはり最終的に生成されるjsコードが型がないからなにもないところに型を定義するのは無理っぽい
ジェネリクスって使う側には幸せだけどライブラリを作ろうって思うとなかなか難しいす。
実は以下のコードが小さくて見やすいので改造できないか試しているんです。
https://github.com/aikoven/typescript-fsa/blob/master/src/index.ts
store.dispatch(someAction()) というように同期型のアクションを作るときはパラメータ引数無しで使えるんだけど
非同期アクションを使おうとした場合はパラメータ引数なしの表現ができないんですよ。
store.dispatch(someAsyncAction.started(undefined)) と書かなきゃけない。
ここのundefinedを省略する方法を探っていたんですよね。
だめでしたわ。やはり最終的に生成されるjsコードが型がないからなにもないところに型を定義するのは無理っぽい
ジェネリクスって使う側には幸せだけどライブラリを作ろうって思うとなかなか難しいす。
実は以下のコードが小さくて見やすいので改造できないか試しているんです。
https://github.com/aikoven/typescript-fsa/blob/master/src/index.ts
store.dispatch(someAction()) というように同期型のアクションを作るときはパラメータ引数無しで使えるんだけど
非同期アクションを使おうとした場合はパラメータ引数なしの表現ができないんですよ。
store.dispatch(someAsyncAction.started(undefined)) と書かなきゃけない。
ここのundefinedを省略する方法を探っていたんですよね。
836デフォルトの名無しさん
2017/08/27(日) 13:49:39.35ID:0iS30aa2 そもそも何がしたいのかわからないんだけど
引数追加したいけないのか?
引数追加したいけないのか?
837デフォルトの名無しさん
2017/08/27(日) 13:55:46.03ID:0iS30aa2 レス見てなかった
ごめんごめん
ごめんごめん
838デフォルトの名無しさん
2017/08/27(日) 14:17:00.38ID:iBnNI7N6 引数にPが含まれていない以上呼び出し時の型パラメータはハードコーディングしなきゃならんわけで、
それならOnlyH用の関数と分けてしまっても大して変わらんだろう。処理自体は共通化すればいいし。
それならOnlyH用の関数と分けてしまっても大して変わらんだろう。処理自体は共通化すればいいし。
839デフォルトの名無しさん
2017/08/27(日) 14:23:58.62ID:0iS30aa2 ところで本当にこれジェネリックの問題?
840デフォルトの名無しさん
2017/08/27(日) 14:27:48.95ID:wLayuApT C++でならテンプレートの特殊化で書けるし書きたい気持ちはよく分かる
841デフォルトの名無しさん
2017/08/27(日) 17:42:23.47ID:0P4eY3kj842デフォルトの名無しさん
2017/08/27(日) 21:19:13.07ID:wLayuApT >>841
何というかC++のテンプレートは強力過ぎる
Boost::Spiritみたいにコンパイル時に構文解析器を生成するような変態的なことさえ可能
ただしコンパイル時間は死ぬ
ttps://ideone.com/6V11EP
C++っぽくないコードだけどとりあえず
何というかC++のテンプレートは強力過ぎる
Boost::Spiritみたいにコンパイル時に構文解析器を生成するような変態的なことさえ可能
ただしコンパイル時間は死ぬ
ttps://ideone.com/6V11EP
C++っぽくないコードだけどとりあえず
843デフォルトの名無しさん
2017/08/27(日) 21:38:06.45ID:0P4eY3kj844デフォルトの名無しさん
2017/08/28(月) 18:40:12.12ID: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,
は指定しています。
何か足りないのでしょうか?
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,
は指定しています。
何か足りないのでしょうか?
845デフォルトの名無しさん
2017/08/28(月) 20:16:46.01ID:3Zs55+dM846デフォルトの名無しさん
2017/08/30(水) 15:24:22.43ID:0nj0F5xg 初心者なんだけど質問いいだろうか?
JS使う必要ある→ES5以前気持ち悪い→ES6未対応多い
という流れでTypeScript勉強しようかと思ったんだけど、手元にある本が分かりやすいけど1.0対応なんだ
追加機能を順に追えば問題ないだろうと思ったんだけど、更新箇所が多岐にわたるためか結構面倒で
ある程度網羅してそうなのも1.0からは追ってなかったりして、少し悩んでる
バージョンごとの差分を丁寧にまとめてくれているサイトか、
最新に近いバージョンを網羅的に解説してるサイトを、差分を意識しながら読もうかと思ってるんだけど、
慣れてる者の視点で、なんかいいサイト or 書籍があったら教えてくれないか?
JS使う必要ある→ES5以前気持ち悪い→ES6未対応多い
という流れでTypeScript勉強しようかと思ったんだけど、手元にある本が分かりやすいけど1.0対応なんだ
追加機能を順に追えば問題ないだろうと思ったんだけど、更新箇所が多岐にわたるためか結構面倒で
ある程度網羅してそうなのも1.0からは追ってなかったりして、少し悩んでる
バージョンごとの差分を丁寧にまとめてくれているサイトか、
最新に近いバージョンを網羅的に解説してるサイトを、差分を意識しながら読もうかと思ってるんだけど、
慣れてる者の視点で、なんかいいサイト or 書籍があったら教えてくれないか?
847デフォルトの名無しさん
2017/08/30(水) 15:36:04.15ID:KRZoTQ7y 公式のWhat's newがベスト
差分付き公式アナウンスの日本語訳もあったはず
差分付き公式アナウンスの日本語訳もあったはず
848デフォルトの名無しさん
2017/08/30(水) 17:14:44.50ID:0nj0F5xg >>847
ありがとう
公式サイトのドキュメントは「英語でこれだけ読むのはだるい」と回避しちゃってたけど、
確かに差分把握程度なら英語苦手でもなんとかなりそうだし、どうしても分からなければそこだけ別途調べればいいかな……
ありがとう
公式サイトのドキュメントは「英語でこれだけ読むのはだるい」と回避しちゃってたけど、
確かに差分把握程度なら英語苦手でもなんとかなりそうだし、どうしても分からなければそこだけ別途調べればいいかな……
849デフォルトの名無しさん
2017/08/30(水) 17:16:57.33ID:0nj0F5xg850デフォルトの名無しさん
2017/08/30(水) 17:22:11.52ID:t7ExSs7Y■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 俺性格悪いなって思った瞬間あげてけ
- 船井「ククク…♥残念やけどカイジさんはこれで別室行きや…♥」黒服「来いっ…♥」カイジ「やめろ!やめてくれっ…!」
