TypeScript part2at TECH
TypeScript part2 - 暇つぶし2ch900:デフォルトの名無しさん
17/09/02 17:50:58.84 pn8ujE89.net
そう聞くとなんかほっこりした

901:デフォルトの名無しさん
17/09/03 14:18:22.90 25YGmHNv.net
Angelar4どう?

902:デフォルトの名無しさん
17/09/03 16:16:24.17 uF0EtmbD.net
4はパフォーマンス改善が大きい
あとはifとか
もう9月だから5出るぞ

903:デフォルトの名無しさん
17/09/04 09:30:18.55 XPn2hQsA.net
Angular 2/4が狭量で遅すぎる理由
URLリンク(postd.cc)

904:デフォルトの名無しさん
17/09/04 15:20:15.81 YyUl+V5/.net
>>864
原文のコメント欄でかなり叩かれてるね

905:デフォルトの名無しさん
17/09/04 21:01:59.56 54ysCAWj.net
自分でTL;DRって書いてあるからそっとしておけばいいのに

906:デフォルトの名無しさん
17/09/04 23:02:59.27 WJEd6wUZ.net
>>863
もうそんな時期か
ネットで探すと2ばっかりで4少ない

907:デフォルトの名無しさん
17/09/05 08:07:39.31 JsNUX7wh.net
>>866
tldrの意味を間違えて解釈してないか?

908:デフォルトの名無しさん
17/09/06 08:52:58.29 ZKLFsM4G.net
URLリンク(eow.alc.co.jp)
TLDR
【略】
=Too long. Didn't read.
長過ぎ。読みませんでした。/長文うざい(と言う人のための要約)。
◆【場面】ネット上などで「文章が長過ぎる」と文句を言う。転じて「長文を嫌う人のための要約」という意味でも用いられる。

909:デフォルトの名無しさん
17/09/06 18:28:14.77 8/JJ3nEQ.net
○次受けが多いほど退場率が早くなる。高くなる
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる

910:デフォルトの名無しさん
17/09/19 11:15:37.37 /BmvhpgH.net
jsbinみたいなやつでautocompleteをサポートしたeditorあるやつないかな。
誰か作って

911:デフォルトの名無しさん
17/09/20 19:34:43.20 n6fd8Yhd.net
immutable.js v4まだちゃんと動かんのね。補完効くなら早く使いたい。

912:デフォルトの名無しさん
17/09/26 15:23:42.06 ghZl2iPU.net
TypeScript Deep Dive
URLリンク(basarat.gitbooks.io)
見つけた。読むと幸せになりそう

913:デフォルトの名無しさん
17/09/27 03:23:26.68 +Ye2aVjL.net
更新履歴確認できる?

914:デフォルトの名無しさん
17/10/03 18:20:58.44 W51YTaAn.net
URLリンク(blogs.msdn.microsoft.com)
Strict function types
URLリンク(github.com)
五周年!

915:デフォルトの名無しさん
17/10/03 18:39:35.95 9EEmWhET.net
まだ五年しかたってないんだ。

916:デフォルトの名無しさん
17/10/09 07


917::06:58.86 ID:9dKH0tXT.net



918:デフォルトの名無しさん
17/10/09 21:16:28.99 3eEbeVt6.net
flowはゴミだから気にしなくていいよ

919:デフォルトの名無しさん
17/10/10 03:03:10.33 kZcMF3GJ.net
今はTSとほぼ同じ構文が使えるみたいだし推論が強い分言語としてはFlowのほうが格上になったと思うよ
開発ツール等を含めた評価はどうなるか知らんが

920:デフォルトの名無しさん
17/10/10 19:56:20.72 n13p9MLl.net
>>879
対応するライブラリが圧倒的に少ないからflowはゴミだよ
TSと完全互換とかならまだ可能性あったかもね

921:デフォルトの名無しさん
17/10/12 06:43:35.33 D9zQ5ULh.net
最初は俺もゴミかと思ったけど静的解析ツールとしてってことだと
jsのプロジェクトに段階的に型をつけていくならありかなって思ったんだよね。

922:デフォルトの名無しさん
17/10/12 08:50:48.19 x7s9E0v1.net
>>881
TSだって段階的に型を付けられるっしょ。

923:デフォルトの名無しさん
17/10/14 22:19:53.51 A+SmlCyw.net
URLリンク(github.com)
typescript 2.6 ローカライズが全面的に入るっぽい

924:デフォルトの名無しさん
17/10/14 22:27:47.84 +JNXgfir.net
非英語Issueが次々と投げ込まれていくところを想像すると胸が熱くなるな
誰がこういうの決定してんだろ

925:デフォルトの名無しさん
17/10/15 13:45:26.13 29cWpLj+.net
いままで入ってなかったのが不思議

926:デフォルトの名無しさん
17/10/15 21:03:43.86 U2nzSUai.net
コマンドラインメッセージが日本語化されるの?いらんだろそれ

927:デフォルトの名無しさん
17/10/15 21:27:06.79 nlQ3NzZf.net
ローカライズありがたいけどところどころ明らかな誤訳が混じってる

928:デフォルトの名無しさん
17/10/16 08:15:42.86 eZyML9Cw.net
誤訳を見つけてくれてありがとう
お前のプルリクを待ってるぜ!

929:デフォルトの名無しさん
17/10/16 11:31:48.47 ZoMoe7Af.net
かえってわかりにくくなる

930:デフォルトの名無しさん
17/10/16 12:12:06.22 Z0srHJQs.net
コマンドラインよりhandbookの方を翻訳してほしいよね

931:デフォルトの名無しさん
17/10/17 08:07:20.81 ALnPGbmE.net
2.4.2から2.5.3に上げたら、User defined type-guard functionとTagged union typeの組み合わせで
型をうまく判断してくれなくなった。バグか仕様変更かどっちだろう?

932:デフォルトの名無しさん
17/10/17 08:10:24.70 1Byit6P4.net
issueあさりにいけ

933:デフォルトの名無しさん
17/10/18 22:10:52.67 wBhwyrKl.net
TypescriptでReact使ってる人にお聞きしたいんですけど
Componentを継承して新しいコンポーネントを作るわけですけど、
class CurrentComponet extends React.Component<Props> {
}
とつくってさらに
class NewComponet extends CurrentComponet {
}
とやってNewComponetをつくるとしますよね。
それはそれで使えるんですけどNewComponetのpropsはCurrentComponetのpropsしか使えないですよね。
PropsをNewComponet用に拡張する方法ってないですかね?
素直に一からComponent作るしかないでしょうか

934:デフォルトの名無しさん
17/10/18 23:58:41.35 5bsiTMSo.net
>>893
class CurrentComponet<T extends Props> extends React.Component<T> {
}

935:デフォルトの名無しさん
17/10/19 09:09:43.33 33xh/nBB.net
>>894
うほー。神よ!
でもぶっちゃけ何が起こってるのかよくわかってないです。
> class CurrentComponet<T extends Props> extends React.Component<T> {
上記Tは一体いつ解決されてるんですかね。
そもそもTypeScriptでReactのコンポーネントの書き方ってこっちが正解だったりするんで?

936:デフォルトの名無しさん
17/10/19 20:20:28.20 LXr9z35K.net
それか
class CurrentComponet<T> extends React.Component<T&Props> {
}
でもいいな
こっちが使う側からすると楽かも
>>895
説明面倒だからggrks

937:デフォルトの名無しさん
17/10/20 00:43:33.60 aPV4O3Wb.net
moment.js 便利だな
今更だが

938:デフォルトの名無しさん
17/10/21 12:56:00.66 VqKLKVGY.net
>>896
単純にReact.d.tsと見比べてみると良い。結局使う時に<Props>を使えるようにCurrentComponet<T> としておくのが目的
ジェネリクス型に追加情報を与えるための概念と考えると分かりやすい。
<T>をTopに残しておいてそこを解決すると React.Component<T>も自動的に追従する

939:デフォルトの名無しさん
17/10/22 05:02:18.10 NdVgkCyx.net
>>897
イミュータブル好きならこっちやぞ。
URLリンク(github.com)

940:デフォルトの名無しさん
17/10/22 05:09:40.65 NdVgkCyx.net
>>871
いろいろあるけどちゃんと探した?
今さら誰かに再発明してもらって↓とかに勝てるの?
URLリンク(codesandbox.io)

941:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 11:51:56.71 r0jppfs8.net
>>900
おっ。そこは知ってたけどTypeScriptのコード補完効くとしらなかったわ。ありがと

942:デフォルトの名無しさん
17/10/23 21:24:20.12 xr09IWoG.net
地味にawait書き忘れてちゃんと動かないというパターンが多発してるんですが
TSLintでawait入れ漏れで指摘する機能ってないですかね?

943:デフォルトの名無しさん
17/10/23 23:05:48.01 zzY32qse.net
>>902
c#だと書き忘れた場合はコンパイラが警告出してくれるんだけどね

944:デフォルトの名無しさん
17/10/30 07:24:42.96 I1PPVtSx.net
もう10月終わるけどまた駆け込みリリースかね

945:デフォルトの名無しさん
17/11/01 02:44:19.40 x/3omok5.net
Announcing TypeScript 2.6
URLリンク(blogs.msdn.microsoft.com)

946:デフォルトの名無しさん
17/11/01 23:51:55.80 x/3omok5.net
>>905
TypeScript 2.6.1 変更点
URLリンク(qiita.com)

947:デフォルトの名無しさん
17/11/02 12:10:31.71 Gd7lD1Ih.net
Angular 5.0.0がリリースされました
URLリンク(medium.com)
はやい、はやいよぉ…

948:デフォルトの名無しさん
17/11/02 20:11:59.50 eNK4k+UN.net
ffのアップデート並み

949:デフォルトの名無しさん
17/11/02 22:27:03.79 taAN7xor.net
なお間に合わなかったバグフィクスはガンガン後回しにしてリリースする模様

950:デフォルトの名無しさん
17/11/03 03:45:19.14 kJ3ZRkrN.net
アジャイルってそういうもんだし

951:デフォルトの名無しさん
17/11/03 05:18:11.47 IsjJm0uL.net
>>907
アンギュラーってぶっちゃけ使ってる人いるの?

952:デフォルトの名無しさん
17/11/03 07:42:27.47 gwa0lp/v.net
Google自身が使ってないのにどうして使うというのか

953:デフォルトの名無しさん
17/11/08 20:05:35.96 uhXC9xV7.net
URLリンク(html5experts.jp)

954:デフォルトの名無しさん
17/11/12 02:41:12.23 EwcJ+uHe.net
2.6になったらコンパイルエラーが多発する。react-redux のconnect周りで。
なんでー

955:デフォルトの名無しさん
17/11/12 13:16:12.66 oQrEnmVF.net
MEAN勉強中なのにangulerってマイナーなの?ショック

956:デフォルトの名無しさん
17/11/25 21:21:37.41 UiY7gN7d.net
コンストラクタを複数定義できないのでしょうか??
うーん。

957:デフォルトの名無しさん
17/11/25 21:28:52.67 UiY7gN7d.net
オーバーロードはできるけど、実装は1つとか・・
JSONへのシリアライズ・デシリアライズは自分で制御するので、
constructor(json: any)と
construcotr(parameter1: type1, parameter2: type2)
二つ用意したいんですけど。最初は
construcotr(parameter1: type1, parameter2: type2)だけ用意しえ、
staticメソッドの方に
statis parseJson(json: any): Class1として、そこでconstrucotr(parameter1: type1, parameter2: type2)を呼んでたんですけど、
これだと子に親のインスタンスの参照渡せないんですよね。

958:デフォルトの名無しさん
17/11/25 21:37:57.59 UiY7gN7d.net
ごめんなさい。これじゃ何いってるからんし、意味不明ですね。

959:デフォルトの名無しさん
17/11/26 00:19:08.88 mkIW06Zo.net
>>916
大分お疲れなようで…… Discriminated Unionsを使うとか?
URLリンク(jsbin.com)

960:デフォルトの名無しさん
17/11/26 04:33:36.78 Aye3R7gH.net
オブジェクト指向を学ぼう

961:デフォルトの名無しさん
17/11/26 23:18:17.65 rkyPHH9I.net
願望なんだけど
Typescriptは言語自体がWebアプリ開発用に
丸ごとフレームワークになったら良いと思う。
Flash(flex)のActionscript3も
フレームワーク化達成した様だし。
URLリンク(flex.apache.org)

962:デフォルトの名無しさん
17/11/26 23:25:22.11 pQh5Iwo2.net
>>921
JSのスーパーセット目指してるんだし無理に決まってんだろ

963:デフォルトの名無しさん
17/11/26 23:28:03.09 rkyPHH9I.net
すみませんリンク先間違ってました。
URLリンク(royale.codeoscopic.com)

964:デフォルトの名無しさん
17/11/26 23:33:18.08 i1z8rFU6.net
>>921
TypeScriptでkoa.js使えばいいんでわ?
なんか違うの?

965:920
17/11/26 23:51:34.59 rkyPHH9I.net
>>924
すみませんkoa.jsの存在を知りませんでした。
良さげなので検討してみます。

966:デフォルトの名無しさん
17/12/01 19:48:21.81 Qr863YVP.net
人気沸騰中のはずなのに年々参加者が減っていきついにアドカレ作られすらしなくなったTypeScriptさん

967:デフォルトの名無しさん
17/12/01 20:26:25.44 6V2me3Iy.net
TypeScript関係ないけど、アドカレVue.jsすげぇな。React人気ないのか??

968:デフォルトの名無しさん
17/12/01 20:32:35.43 u+SbUYxr.net
FBのゴタゴタがきいてるんかな

969:デフォルトの名無しさん
17/12/01 22:04:45.62 jFvanr8n.net
アドカレ的にはjs扱いなんじゃね?

970:デフォルトの名無しさん
17/12/01 23:41:41.28 tkoMYkG1.net
ES6普及したから
AltJSへの興味が薄れてるんじゃね?

971:デフォルトの名無しさん
17/12/01 23:55:12.47 jFvanr8n.net
まだasync await周りが完成してないけどね。
とりあえずmapとかfilterが普通に使えるようになってほしい

972:デフォルトの名無しさん
17/12/14 10:19:06.97 y5gxd1px.net
stackblitzいいな。マジでplayground系の決定版感ある。
URLリンク(stackblitz.com)

973:デフォルトの名無しさん
17/12/14 16:42:58.78 y5gxd1px.net
typeScriptのinterfaceで配列の要素数を制約する方法ってありますかね?

974:デフォルトの名無しさん
17/12/14 19:30:41.65 lO2D+k3i.net
>>932
vscodeみてーなUIだな

975:デフォルトの名無しさん
17/12/14 19:31:21.04 lO2D+k3i.net
>>933
何に使うの?
空でない配列なら分かるけど

976:デフォルトの名無しさん
17/12/14 19:43:58.65 ZmHWuRBr.net
tupleとして扱う

977:デフォルトの名無しさん
17/12/14 20:36:42.23 LW4O1R2X.net
tuple使え

978:デフォルトの名無しさん
17/12/14 22:26:15.12 lO2D+k3i.net
もしかして:タプル


979:機能を知らない let vec:[number,number=[1,1];



980:デフォルトの名無しさん
17/12/14 22:27:31.03 lO2D+k3i.net
ミス
let vec:[number,number]=[1,1];
もちろんこれでもOK
type Vec=[number,number];
let vec:Vec=[number,number];

981:デフォルトの名無しさん
17/12/14 22:29:51.71 LW4O1R2X.net
前にもタプルあるのにタプル欲しい言ってたやついたような

982:デフォルトの名無しさん
17/12/14 23:16:24.01 lO2D+k3i.net
URLリンク(www.typescriptlang.org)
タプルもだけど、このページ読んでない人多くね?
TypeScript語るなら&、|、is、keyofくらいマスターしておけよな

983:デフォルトの名無しさん
17/12/15 00:23:56.02 okgNcKTb.net
>>938
すっかり忘れとりました。Enumとかも使ってなかった。
>>941
ですよね。
>>934
online vscode と名乗ってる

984:デフォルトの名無しさん
17/12/15 10:29:49.56 sajYuSyc.net
(´・ω・`) デコレータがなんの役に立つのかわからん…

985:デフォルトの名無しさん
17/12/15 12:12:33.81 ehq3lI3U.net
一時期使ってみたが全部取っ払って今は一切使ってない
デコレータを使う設計自体が悪い
技術的負債になるワークアラウンドが不運にも市民権を得てしまったのがデコレータ
デコレータを使うのは未熟者の証

986:デフォルトの名無しさん
17/12/15 12:39:37.56 pWQR70OL.net
veu

987:デフォルトの名無しさん
17/12/15 13:09:01.78 VJqK9zii.net
使ってないけど、デコレータはDI(dependency injection)(依存性の注入)に使うんでしょ?
そもそもそれが必要な事なのか知らんけど

988:デフォルトの名無しさん
17/12/15 16:08:57.23 ehq3lI3U.net
DIはコンストラクタ注入だけでいい
メソッドだの継承だのデコレータだの無駄に複雑なだけ

989:デフォルトの名無しさん
17/12/16 11:15:39.58 Ab77UDQn.net
Angularもけっこう深い沼だな…

990:デフォルトの名無しさん
17/12/16 22:02:32.48 c6/WUVVQ.net
沼というか泥舟

991:デフォルトの名無しさん
17/12/17 16:05:22.54 dnHAQQNy.net
ionic はタイタニックだしな

992:デフォルトの名無しさん
17/12/18 13:13:38.64 2IRqztoA.net
あげ

993:デフォルトの名無しさん
18/01/16 20:27:44.97 FhxZLFGY.net
interfaceを使ってるとjsonでセーブする時にすごく便利なんだけどメソッドが生やせないのが辛い。
なんとかならないかな

994:デフォルトの名無しさん
18/01/17 16:20:55.33 AWcujNq7.net
手動で保存・復元すればOK

995:デフォルトの名無しさん
18/01/17 16:23:04.93 AWcujNq7.net
まぁ、classレベルならいいけど、interfaceレベルだときついかもしれんが。

996:デフォルトの名無しさん
18/01/18 18:36:14.16 c8bYFLwE.net
Announcing TypeScript 2.7 RC
URLリンク(blogs.msdn.microsoft.com)
毎回RC版出してるけど、VSCodeやTSって更新早いからいらないと思う

997:デフォルトの名無しさん
18/01/24 05:53:19.16 V1qhcEkf.net
localStorageとかreduxとか使ってると意図せず型変換が入ってtscはDate型の想定なのに実際はstringという状況マジ勘弁してください。

998:デフォルトの名無しさん
18/01/24 08:16:36.90 BFkGLEDk.net
>tscはDate型の想定なのに実際はstringという状況
そりゃ不適切な型付けしてしまっただけじゃね?
stringを入る可能性があるanyをDateと決め打ちしたとか。

999:デフォルトの名無しさん
18/01/25 22:12:47.33 cFDHLCLJ.net
DateがJSON serializableじゃないって話でTypeScriptの問題でもない

1000:デフォルトの名無しさん
18/01/29 11:43:46.31 16WZc9vb.net
インスタンスではなくclass を引数に取った関数を作りたいんですが、良い方法がないでしょうか?
redux.connectをラップする関数を作りたくて上記手段を求めています
サンプルコードはいかにおいています
URLリンク(goo.gl)

1001:デフォルトの名無しさん
18/01/29 11:48:46.22 16WZc9vb.net
>>959
すんません。自己解決
interface IBase {
new (message: string): Base;
}

1002:デフォルトの名無しさん
18/01/29 14:06:48.67 16WZc9vb.net
返り値とか省略すると推論してくれますけど推論の結果を取得する方法ってないですかね?
vscodeでカーソルを合わせてると出るんですけどカーソル合わせている間しか出ないのでコピペしづらくて。

1003:デフォルトの名無しさん
18/01/29 16:26:17.34 g7co9PB2.net
>>960
Baseって何を指すの?

1004:デフォルトの名無しさん
18/01/31 10:23:18.30 V9tZNzCA.net
TypeScriptでglobal import的なものってないですかね?
ロガーを作ったんですけど、それを毎回importするのがしんどくて

1005:デフォルトの名無しさん
18/02/01 14:40:42.51 ma2l7eSX.net
Announcing TypeScript 2.7
URLリンク(blogs.msdn.microsoft.com)

1006:デフォルトの名無しさん
18/02/05 22:05:36.77 wQgqkVj5.net
>>964
TypeScript 2.7.1 変更点
URLリンク(qiita.com)
2.8
Conditional types
URLリンク(github.com)
Type inference in conditional types
URLリンク(github.com)

1007:デフォルトの名無しさん
18/02/05 23:37:11.09 Rv6TwvHy.net
Conditional types関連は既にmergedなのか

1008:デフォルトの名無しさん
18/02/06 05:58:37.68 vXstL54C.net
小躍りしながら使ってみたところ速攻でバグにぶち当たって無事死亡
修正されるまで一回休み

1009:デフォルトの名無しさん
18/02/13 05:54:42.41 kAM/OKSF.net
型を後付した言語の限界があるよな。
ストレージに一度保存して意図せずjsonになってたり、関数のインターフェース上nullやundefind許容しない設定にしてても結局js側でnullの可能性のある値を渡されたらバグるし。
例えばjsとtsの境界部分。
モジュールとして外出ししている関数とかのインターフェースとかをきちんとnullチェックしてくれるコードを自動で埋め込んでくんないかな。

1010:デフォルトの名無しさん
18/02/13 06:47:09.07 a2BGtfue.net
それは信頼できないjsが悪いだけだろ
外部のクソコードはどうにもならん

1011:デフォルトの名無しさん
18/02/13 09:13:05.77 cOH/iFjL.net
TypeScriptが目指してるのはコンパイル時型チェックであって実行時型チェックではない
コンパイル時型チェックならパフォーマンスに影響はない(処理系によってはむしろ向上する)が実行時型チェックは明確にパフォーマンスが落ちる
PHPなんかは実行時型チェックを実装しちゃったもんだからクラスのメンバに型宣言するRFCすらリジェクトされてる

1012:デフォルトの名無しさん
18/02/13 15:21:25.94 xpZzv5qK.net
>>970
ですよね。それはわかっているんですが、、、、
せめてlint的な感じでjs向けのインターフェースが null| undefinedの可能性があるから直せみたいな警告が出るといいんですけど。
async func 内の await記入漏れと一緒にほしい。

1013:デフォルトの名無しさん
18/02/13 15:22:21.77 xpZzv5qK.net
URLリンク(blog.yux3.net)
あと objectとObjectがあるって知らなかった。
hyperappの型定義で始めて見た。

1014:デフォルトの名無しさん
18/02/13 22:00:08.76 XkJQyT0D.net
jsから呼ばれる部分はどうやってもチェックしようがないと思うぞ。

1015:デフォルトの名無しさん
18/02/20 18:34:14.34 KguAhC0Q.net
yarnのワークスペースを使用して、Create React AppとCreate React Native App (Expo) で共通のコードを共有する
URLリンク(taiyaq.com)
を参考にしてcreate-react-app でtypescriptプロジェクトを作ったんだけど
ワークスペース内での型情報の共有がうまくいかない。
それぞれ単体では動くんだけど。既に試している人っている?

1016:デフォルトの名無しさん
18/02/26 16:47:13.03 Y4Glcgpd.net
ブラウザで動く個人的なちょっとしたものしか作らなくて、
ライブラリはimportしないで自分でscriptタグで読み込んでるから、
@typesの定義だけ欲しいんだけど、今って中身のないstubばかりで
importしないと使えないんだけど、これってどうすればいいのでしょうか?
仕方なくファイルをルートにコピーして、意味がわからないまま
export as namespace hogehoge; みたいな文をくっつけたりして
何とか機能するようにしてるけど、非常に困ってます

1017:デフォルトの名無しさん
18/02/26 17:28:19.81 wXoocKSL.net
.d.tsファイルでインポートすればいいはず

1018:デフォルトの名無しさん
18/02/26 19:51:46.67 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:デフォルトの名無しさん
18/02/26 21:54:01.34 0Cvn/PR2.net
>>975
ちょっと言ってることがわからないからこういうときは小さいサンプルでも作ってどっかにあげてみてくんない?
そしてそうやって小さくまとめてみると意外と自己解決したりするもんだ。

1021:デフォルトの名無しさん
18/02/26 23:16:55.53 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:デフォルトの名無しさん
18/02/27 01:53:35.35 ZLoGDkNB.net
>>979
@typesは別にオワコンじゃない。
型定義を提供するのに2つのルートがあるってだけ。
momentは作者側で型定義を提供してくれてるってだけ。
ところで解決したってことでいいんだよね?
/// <reference path="./mytypes/moment.d.ts"/>
みたいな感じでカスタムしたd.tsを読めばいいだけだし。

1023:デフォルトの名無しさん
18/02/27 01:59:51.55 ZLoGDkNB.net
つーかUMD対応中みたいだね
URLリンク(github.com)
ワークアラウンドとして
import * as _moment from 'moment';
export as namespace moment;
export = _moment;
というd.tsを作ってimportすればいい

1024:デフォルトの名無しさん
18/02/27 12:44:23.84 XDcEi9Sw.net
import使っちゃった意味ないんだけどね
vueみたいに複数のファイルに分けられちゃうと大幅に変えないといけないから
気軽にプルリクできない感じがする
だが自分でその場しのぎの対応してると、バージョン上げられた時に詰む

1025:デフォルトの名無しさん
18/02/27 12:53:20.87 XDcEi9Sw.net
勘違いしてた
import _moment from 'moment';
export as namespace moment;
export = _moment;
とか、
import _Vue from 'Vue';
export as namespace Vue;
export = _Vue;
みたいに書けばいいのか。
すごい。解決した

1026:デフォルトの名無しさん
18/03/01 22:44:29.35 V7eofqS1.net
次スレカモン

1027:デフォルトの名無しさん
18/03/12 23:33:32.22 ZJVFDbUv.net
TSConf 2018
URLリンク(tsconf.io)
初のカンファか

1028:デフォルトの名無しさん
18/03/16 08:23:22.72 K5Isy9NI.net
Announcing TypeScript 2.8 RC
URLリンク(blogs.msdn.microsoft.com)

1029:デフォルトの名無しさん
18/03/16 14:11:16.40 HcB/quXY.net
>>984
次スレのテンプレに入れたほうがいいものとかある?

1030:デフォルトの名無しさん
18/03/17 00:42:53.78 4Xu/HAYS.net
tsconfigのexcludeの項目を、compilerOptionsの中に書いてて、何でダメなんだろう悩んじゃった
設定はcompilerOptionsの中に書くものと思い込んでて、全然気付けなかった

1031:デフォルトの名無しさん
18/03/17 21:01:59.42 zUTKt+H5.net
>>987
リポジトリとかWikiとかWhat'sNewあたり?
あとは流れで

1032:デフォルトの名無しさん
18/03/28 08:14:57.22 3iq+90ex.net
Announcing TypeScript 2.8
URLリンク(blogs.msdn.microsoft.com)

1033:デフォルトの名無しさん
18/04/02 17:52:32.10 G4IZotVZ.net
俺のtypescriptが好きすぎる感情をどこにぶつけていいかわからない

1034:デフォルトの名無しさん
18/04/02 18:53:21


1035:.97 ID:aSG3UjFJ.net



1036:デフォルトの名無しさん
18/04/03 10:37:57.34 0rmSrban.net
>>991
俺も俺も!。qiitaでもいいしココでもいいよ!!

1037:デフォルトの名無しさん
18/04/03 11:33:16.29 R6gDm2yr.net
次スレよろ

1038:デフォルトの名無しさん
18/04/05 19:58:55.32 0c0qrJs0.net
スレ立てにぶつけることが決まったな

1039:デフォルトの名無しさん
18/04/20 07:03:30.59 yIya3QmH.net
どうしたん?人気あるわりにここ静かやん

1040:デフォルトの名無しさん
18/04/20 09:50:01.67 WJk0jxxj.net
続きはCMのあとで!

1041:デフォルトの名無しさん
18/04/24 20:06:57.83 TUZ43qB9.net
はよ次スレ

1042:デフォルトの名無しさん
18/04/24 21:50:54.24 BAt1Eldp.net
うむ

1043:デフォルトの名無しさん
18/04/26 21:48:57.62 mMDBzDaB.net

スレリンク(tech板)

1044:デフォルトの名無しさん
18/04/26 21:52:07.15 vM7mL5EC.net
safariが次のIEと呼ばれているように、
Typescriptは次のcoffeescriptと言われているwww

1045:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1092日 3時間 14分 38秒

1046:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch