X



TypeScript part2 [転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0878デフォルトの名無しさん
垢版 |
2017/10/10(火) 03:03:10.33ID:kZcMF3GJ
今はTSとほぼ同じ構文が使えるみたいだし推論が強い分言語としてはFlowのほうが格上になったと思うよ
開発ツール等を含めた評価はどうなるか知らんが
0879デフォルトの名無しさん
垢版 |
2017/10/10(火) 19:56:20.72ID:n13p9MLl
>>878
対応するライブラリが圧倒的に少ないからflowはゴミだよ
TSと完全互換とかならまだ可能性あったかもね
0880デフォルトの名無しさん
垢版 |
2017/10/12(木) 06:43:35.33ID:D9zQ5ULh
最初は俺もゴミかと思ったけど静的解析ツールとしてってことだと
jsのプロジェクトに段階的に型をつけていくならありかなって思ったんだよね。
0883デフォルトの名無しさん
垢版 |
2017/10/14(土) 22:27:47.84ID:+JNXgfir
非英語Issueが次々と投げ込まれていくところを想像すると胸が熱くなるな
誰がこういうの決定してんだろ
0890デフォルトの名無しさん
垢版 |
2017/10/17(火) 08:07:20.81ID:ALnPGbmE
2.4.2から2.5.3に上げたら、User defined type-guard functionとTagged union typeの組み合わせで
型をうまく判断してくれなくなった。バグか仕様変更かどっちだろう?
0892デフォルトの名無しさん
垢版 |
2017/10/18(水) 22:10:52.67ID:wBhwyrKl
TypescriptでReact使ってる人にお聞きしたいんですけど
Componentを継承して新しいコンポーネントを作るわけですけど、
class CurrentComponet extends React.Component<Props> {
}
とつくってさらに
class NewComponet extends CurrentComponet {
}
とやってNewComponetをつくるとしますよね。
それはそれで使えるんですけどNewComponetのpropsはCurrentComponetのpropsしか使えないですよね。
PropsをNewComponet用に拡張する方法ってないですかね?
素直に一からComponent作るしかないでしょうか
0893デフォルトの名無しさん
垢版 |
2017/10/18(水) 23:58:41.35ID:5bsiTMSo
>>892
class CurrentComponet<T extends Props> extends React.Component<T> {
}
0894デフォルトの名無しさん
垢版 |
2017/10/19(木) 09:09:43.33ID:33xh/nBB
>>893
うほー。神よ!
でもぶっちゃけ何が起こってるのかよくわかってないです。

> class CurrentComponet<T extends Props> extends React.Component<T> {
上記Tは一体いつ解決されてるんですかね。
そもそもTypeScriptでReactのコンポーネントの書き方ってこっちが正解だったりするんで?
0895デフォルトの名無しさん
垢版 |
2017/10/19(木) 20:20:28.20ID:LXr9z35K
それか
class CurrentComponet<T> extends React.Component<T&Props> {
}
でもいいな
こっちが使う側からすると楽かも

>>894
説明面倒だからggrks
0897デフォルトの名無しさん
垢版 |
2017/10/21(土) 12:56:00.66ID:VqKLKVGY
>>895
単純にReact.d.tsと見比べてみると良い。結局使う時に<Props>を使えるようにCurrentComponet<T> としておくのが目的
ジェネリクス型に追加情報を与えるための概念と考えると分かりやすい。
<T>をTopに残しておいてそこを解決すると React.Component<T>も自動的に追従する
0901デフォルトの名無しさん
垢版 |
2017/10/23(月) 21:24:20.12ID:xr09IWoG
地味にawait書き忘れてちゃんと動かないというパターンが多発してるんですが
TSLintでawait入れ漏れで指摘する機能ってないですかね?
0907デフォルトの名無しさん
垢版 |
2017/11/02(木) 20:11:59.50ID:eNK4k+UN
ffのアップデート並み
0908デフォルトの名無しさん
垢版 |
2017/11/02(木) 22:27:03.79ID:taAN7xor
なお間に合わなかったバグフィクスはガンガン後回しにしてリリースする模様
0913デフォルトの名無しさん
垢版 |
2017/11/12(日) 02:41:12.23ID:EwcJ+uHe
2.6になったらコンパイルエラーが多発する。react-redux のconnect周りで。
なんでー
0914デフォルトの名無しさん
垢版 |
2017/11/12(日) 13:16:12.66ID:oQrEnmVF
MEAN勉強中なのにangulerってマイナーなの?ショック
0916デフォルトの名無しさん
垢版 |
2017/11/25(土) 21:28:52.67ID:UiY7gN7d
オーバーロードはできるけど、実装は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)を呼んでたんですけど、
これだと子に親のインスタンスの参照渡せないんですよね。
0920デフォルトの名無しさん
垢版 |
2017/11/26(日) 23:18:17.65ID:rkyPHH9I
願望なんだけど
Typescriptは言語自体がWebアプリ開発用に
丸ごとフレームワークになったら良いと思う。

Flash(flex)のActionscript3も
フレームワーク化達成した様だし。
http://flex.apache.org/
0921デフォルトの名無しさん
垢版 |
2017/11/26(日) 23:25:22.11ID:pQh5Iwo2
>>920
JSのスーパーセット目指してるんだし無理に決まってんだろ
0924920
垢版 |
2017/11/26(日) 23:51:34.59ID:rkyPHH9I
>>923
すみませんkoa.jsの存在を知りませんでした。
良さげなので検討してみます。
0925デフォルトの名無しさん
垢版 |
2017/12/01(金) 19:48:21.81ID:Qr863YVP
人気沸騰中のはずなのに年々参加者が減っていきついにアドカレ作られすらしなくなったTypeScriptさん
0930デフォルトの名無しさん
垢版 |
2017/12/01(金) 23:55:12.47ID:jFvanr8n
まだasync await周りが完成してないけどね。
とりあえずmapとかfilterが普通に使えるようになってほしい
0933デフォルトの名無しさん
垢版 |
2017/12/14(木) 19:30:41.65ID:lO2D+k3i
>>931
vscodeみてーなUIだな
0934デフォルトの名無しさん
垢版 |
2017/12/14(木) 19:31:21.04ID:lO2D+k3i
>>932
何に使うの?
空でない配列なら分かるけど
0937デフォルトの名無しさん
垢版 |
2017/12/14(木) 22:26:15.12ID:lO2D+k3i
もしかして:タプル機能を知らない
let vec:[number,number=[1,1];
0938デフォルトの名無しさん
垢版 |
2017/12/14(木) 22:27:31.03ID:lO2D+k3i
ミス
let vec:[number,number]=[1,1];

もちろんこれでもOK
type Vec=[number,number];
let vec:Vec=[number,number];
0943デフォルトの名無しさん
垢版 |
2017/12/15(金) 12:12:33.81ID:ehq3lI3U
一時期使ってみたが全部取っ払って今は一切使ってない
デコレータを使う設計自体が悪い
技術的負債になるワークアラウンドが不運にも市民権を得てしまったのがデコレータ
デコレータを使うのは未熟者の証
0945デフォルトの名無しさん
垢版 |
2017/12/15(金) 13:09:01.78ID:VJqK9zii
使ってないけど、デコレータはDI(dependency injection)(依存性の注入)に使うんでしょ?
そもそもそれが必要な事なのか知らんけど
0946デフォルトの名無しさん
垢版 |
2017/12/15(金) 16:08:57.23ID:ehq3lI3U
DIはコンストラクタ注入だけでいい
メソッドだの継承だのデコレータだの無駄に複雑なだけ
0950デフォルトの名無しさん
垢版 |
2017/12/18(月) 13:13:38.64ID:2IRqztoA
あげ
0951デフォルトの名無しさん
垢版 |
2018/01/16(火) 20:27:44.97ID:FhxZLFGY
interfaceを使ってるとjsonでセーブする時にすごく便利なんだけどメソッドが生やせないのが辛い。
なんとかならないかな
0955デフォルトの名無しさん
垢版 |
2018/01/24(水) 05:53:19.16ID:V1qhcEkf
localStorageとかreduxとか使ってると意図せず型変換が入ってtscはDate型の想定なのに実際はstringという状況マジ勘弁してください。
0956デフォルトの名無しさん
垢版 |
2018/01/24(水) 08:16:36.90ID:BFkGLEDk
>tscはDate型の想定なのに実際はstringという状況

そりゃ不適切な型付けしてしまっただけじゃね?
stringを入る可能性があるanyをDateと決め打ちしたとか。
0958デフォルトの名無しさん
垢版 |
2018/01/29(月) 11:43:46.31ID:16WZc9vb
インスタンスではなくclass を引数に取った関数を作りたいんですが、良い方法がないでしょうか?
redux.connectをラップする関数を作りたくて上記手段を求めています
サンプルコードはいかにおいています
https://goo.gl/FF5jFc
0960デフォルトの名無しさん
垢版 |
2018/01/29(月) 14:06:48.67ID:16WZc9vb
返り値とか省略すると推論してくれますけど推論の結果を取得する方法ってないですかね?
vscodeでカーソルを合わせてると出るんですけどカーソル合わせている間しか出ないのでコピペしづらくて。
0962デフォルトの名無しさん
垢版 |
2018/01/31(水) 10:23:18.30ID:V9tZNzCA
TypeScriptでglobal import的なものってないですかね?
ロガーを作ったんですけど、それを毎回importするのがしんどくて
0966デフォルトの名無しさん
垢版 |
2018/02/06(火) 05:58:37.68ID:vXstL54C
小躍りしながら使ってみたところ速攻でバグにぶち当たって無事死亡
修正されるまで一回休み
0967デフォルトの名無しさん
垢版 |
2018/02/13(火) 05:54:42.41ID:kAM/OKSF
型を後付した言語の限界があるよな。
ストレージに一度保存して意図せずjsonになってたり、関数のインターフェース上nullやundefind許容しない設定にしてても結局js側でnullの可能性のある値を渡されたらバグるし。

例えばjsとtsの境界部分。
モジュールとして外出ししている関数とかのインターフェースとかをきちんとnullチェックしてくれるコードを自動で埋め込んでくんないかな。
0969デフォルトの名無しさん
垢版 |
2018/02/13(火) 09:13:05.77ID:cOH/iFjL
TypeScriptが目指してるのはコンパイル時型チェックであって実行時型チェックではない
コンパイル時型チェックならパフォーマンスに影響はない(処理系によってはむしろ向上する)が実行時型チェックは明確にパフォーマンスが落ちる

PHPなんかは実行時型チェックを実装しちゃったもんだからクラスのメンバに型宣言するRFCすらリジェクトされてる
0970デフォルトの名無しさん
垢版 |
2018/02/13(火) 15:21:25.94ID:xpZzv5qK
>>969
ですよね。それはわかっているんですが、、、、
せめてlint的な感じでjs向けのインターフェースが null| undefinedの可能性があるから直せみたいな警告が出るといいんですけど。
async func 内の await記入漏れと一緒にほしい。
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況