[過去ログ] TypeScript part2 [転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
686: 2017/06/02(金)10:31 ID:QxLZOlf9(1/2) AAS
_thisは重複エラーになっちゃうんでやすよね
目的としては、deferredを返すfunctionがあって、その返り値のdoneで呼び元のthisを使いたいんです
687
(1): 2017/06/02(金)11:16 ID:Ef+/+PyI(2/3) AAS
やりたいことが分からん
コード例plz
688
(1): 2017/06/02(金)11:38 ID:lCCVb2h3(2/3) AAS
アロー関数で済むやつでは
689
(2): 2017/06/02(金)12:13 ID:QxLZOlf9(2/2) AAS
>>687
var testFucntion = () => {

    var defer = $.Deferred();

    defer.resolve("a");

    return defer.promise();

}
省7
690: 2017/06/02(金)12:15 ID:Ef+/+PyI(3/3) AAS
>>689
>>688
691: 2017/06/02(金)12:17 ID:lCCVb2h3(3/3) AAS
草www
692: 2017/06/02(金)12:20 ID:jbvcqQ/c(1) AAS
自演乙としか
693: 2017/06/02(金)23:52 ID:7H2+/kur(1) AAS
functionが自然な場所は、アローにしてて、
アローで解決できる箇所はfunctionなのはなぜ。
694: 2017/06/03(土)02:14 ID:QIr3+kxI(1) AAS
>>689
doneのほうをアロー式にしたらいいんやで
あとvsで開発してる場合、デバッグ時にウォッチしたとき、そのthisにはtestFucntionが入るけど
実際にはちゃんと使いたい値が入ってるから安心しな
695: 2017/06/03(土)09:18 ID:bm3mvh5f(1) AAS
アロー使えばselfいらないって知った時感動した
696
(1): 2017/06/04(日)01:06 ID:ioiT3hTG(1) AAS
Angular(2以降)の話題もここでよろしょうございますか?
697: 2017/06/04(日)02:05 ID:fuFkI60h(1) AAS
まったくではないが違うんじゃないか?
698
(1): 2017/06/04(日)05:58 ID:xlmC5HkR(1) AAS
2chスレ:php
699
(2): [!sage] 2017/06/11(日)19:15 ID:AskXGu9A(1/6) AAS
interface A{
 x:string;
 y:string;
}

interface B extends A{
 x:number;
}
省4
700: 2017/06/11(日)19:18 ID:AskXGu9A(2/6) AAS
>>696
ngxのスレは別にある
701: 2017/06/11(日)19:55 ID:AskXGu9A(3/6) AAS
>>698
2以降はこっち
2chスレ:hp
702
(2): 2017/06/11(日)20:29 ID:zURolSWc(1) AAS
>>699
型が変わったら継承できないのは当たり前では?

interface Parent {
x: string | number;
y: string;
}

interface A extends Parent {
省6
703: 2017/06/11(日)21:09 ID:y28miZDE(1) AAS
理解してない奴を炙り出すのにも静的チェックは必要なんやなって
704: 2017/06/11(日)21:21 ID:QZNztTAY(1/2) AAS
>>702
プロパティだとセットのときを考えるとcontravariantじゃないとダメだしゲットのときにはcovariantじゃないとダメだから結局invariantが必要になるような気がする
アクセサならsetのパラメタとgetの返却値で型が異なってもいいから問題ないと思うけど
705
(1): 2017/06/11(日)22:09 ID:AskXGu9A(4/6) AAS
>>702
継承出来ないのは当たり前って言うのは分かる
ただ上書きする構文が欲しい
706: 2017/06/11(日)22:13 ID:QZNztTAY(2/2) AAS
>>705
ジェネリクスあるし上書きする構文が必要になる状況が分からん
707: 2017/06/11(日)22:22 ID:eD+QASKK(1) AAS
上書きなんぞせずとも別の名前付ければよくね?
デメリットしか思い付かないし実装されないと思うが、仮に実装されたとしても予想される実装方法はBの型を通してアクセスしたときは型名とかをprefix付けた別名になるようにトランスパイルされるようになるだけでしょ
708
(1): 2017/06/11(日)23:47 ID:fVYgJSKO(1) AAS
extends Aじゃないけどその定義を流用してBを定義したいということか?
709: 2017/06/11(日)23:48 ID:AskXGu9A(5/6) AAS
>>708
そういう事
710: 2017/06/11(日)23:49 ID:AskXGu9A(6/6) AAS
B extends Aじゃないから当然
(hoge:B)=>{
let foo:A=hoge;
}

みたいな事は出来なくて良い(というか出来ない)
711: 2017/06/12(月)00:58 ID:F6aJQHtJ(1) AAS
継承じゃないんだから諦めてジェネリクス使いなよ
712: 2017/06/12(月)08:01 ID:9hAA1jJ7(1) AAS
世の中にxがstringかnumberの場合があるのなら、x: string | number という定義が正しい気がしますが
713
(1): 2017/06/12(月)08:11 ID:R1uj6Z8h(1) AAS
ジェネリクスだと>>699の問題がどこまで解決できるんだろう。
714: 2017/06/12(月)08:26 ID:vVucOmau(1) AAS
>>713
interface X<T> {
 x: T;
 y: string;
}
interface A extends X<string> { }
interface B extends X<number> { }
715
(1): 2017/06/12(月)18:05 ID:i2S9/2aT(1) AAS
flowとtypescriptって
どっちが良いの?
716: 2017/06/12(月)18:14 ID:/bUB16QZ(1) AAS
>>715
圧倒的TypeScript
異論は見ろめない
717: 2017/06/12(月)21:00 ID:5UNDPLtW(1) AAS
酔うの早すぎるだろ
718: 2017/06/13(火)22:10 ID:PMWJJsvl(1) AAS
Announcing TypeScript 2.4 RC
外部リンク:blogs.msdn.microsoft.com
719: 2017/06/14(水)08:28 ID:TtxDPC/b(1) AAS
enumってstring literal型出てからほぼ使わなくなったからなあ
コード内でimportできるのもよくわからん
何がよくなったんだ
720
(1): 2017/06/14(水)09:04 ID:t483F9YG(1) AAS
新importは関数であることに意味がある
721: 2017/06/14(水)21:28 ID:YgZhsY+k(1/2) AAS
>>720
なるほど Promiseで返すってことはasync await 前提なんかな。
ちょっと非同期周りで互換性のないライブラリ使ってると途端に不便になるから
一長一短ではあるんだけど。全部がPromise使うライブラリで固められれば便利になるんかな。
722: 2017/06/14(水)21:29 ID:YgZhsY+k(2/2) AAS
jsの仕様変更そろそろ収まって欲しい。
import周りってこれで安定するようになるのかな。
723
(1): 2017/06/15(木)19:20 ID:Zba3QY3O(1/2) AAS
filterの中でasync await って使えないんですかね?
724: 2017/06/15(木)19:24 ID:xqojsLNP(1/3) AAS
>>723
無理
rxjs使うか設計見なおせ
具体的に何をしたい?
725: 2017/06/15(木)21:25 ID:Zba3QY3O(2/2) AAS
filterの評価関数を作ろうとした時に、今まで作ったやつが全部プロミス返す設計になっていたので、
シームレスに使おうとしたらasync-awaitを使えないかなーと。
将来的にここもasync await使えるようになるのかな。
結局ループを回して絞込処理を実装しましたわ。
726: 2017/06/15(木)21:30 ID:xqojsLNP(2/3) AAS
rxjs使え
727: 2017/06/15(木)21:32 ID:xqojsLNP(3/3) AAS
それか自作。そんなに難しくないぞ
728: 2017/06/16(金)01:22 ID:uNQVqIhb(1/2) AAS
rx推しが謎すぎる。
729
(1): 2017/06/16(金)07:51 ID:VSZ6CfqO(1) AAS
ループでawaitしちゃうってパフォーマンス悪くない?
await promise.all([].map(async () => {}))

こういうのが普通では?
730
(1): 2017/06/16(金)12:37 ID:uNQVqIhb(2/2) AAS
>>729
ずっとpromise.allの存在を失念してた。
これでmap的な使い方できるね。

ところでtypescriptのプロジェクトで自作helperライブラリを使う時にいちいちimportを使うのが面倒くさいんで
自動でimportする設定ってtsconfigにないかな?
731: 2017/06/17(土)10:56 ID:254ieyWi(1/2) AAS
typescript便利だけどやっぱり型が後付の弊害がなかなかしんどい。
nullを許容しない前提かと思って使っても結局
実体はnullが突っ込んであったり する。
732: 2017/06/17(土)17:32 ID:Jhwo6DZg(1) AAS
弊害じゃなくて人為的ミス
誤りに気付いた者が正せばいい
733: 2017/06/17(土)22:27 ID:254ieyWi(2/2) AAS
swaggerのジェネレーターが出すコードなんだよね。プルリク出すのが面倒です
734
(1): 2017/06/18(日)00:50 ID:GScuub4f(1) AAS
サーバーサイドの言語仕様とswaggerがstrict null checkに対応してないだけであって
typescriptは何も悪くないのでは
735: 2017/06/18(日)15:17 ID:xPH4G83l(1) AAS
ほんそれ
736: 2017/06/18(日)20:34 ID:9Ms8Oqe4(1) AAS
>>734
本体がstrict null check対応しても
モジュール側が対応してないとそこは無視するってことです?
例えばモジュールが強制的に T | undefined | null 型になるとかならいいんですけどね
737: 2017/06/19(月)00:15 ID:2IBzsU2g(1) AAS
type Action =
{
type: “A”,
id: number
} |
{
type: “B”,
省12
738: 2017/06/19(月)09:56 ID:nrLP7Uu1(1) AAS
インデックスシグネチャがstringかnumberしか受け入れない現状では
Aliasを定義する時点でキー(Action.typeの値)が
分かってるなら interface Alias { 'A'?: Func; 'B'?: Func; }
分からないなら interface Alias { [type: string]: Func; }
739: 2017/06/19(月)20:30 ID:8qDOjcU2(1) AAS
>>730
interface Actions {
A: {id: number};
B: {payload: any}
}

interface Arias {[key in keyof Actions]: () => Actions[key]}

こういうことかな?
740
(1): 2017/06/19(月)21:29 ID:GKod7M3S(1) AAS
携帯から書いたけどエラー起きてるし意図理解できてなかった。
こういうことかな?
type Action = { type: "A" } | {type: "B"};
type Arias = {[K in Action["type"]]: () => void}
画像リンク[png]:i.imgur.com
741: 2017/06/19(月)22:19 ID:p+TikfUB(1) AAS
Arias(笑)
742
(1): 2017/06/20(火)16:14 ID:Nl8VP77v(1) AAS
>>740
おー。聞いてみて良かったです。半分諦めてたんで。
上手く動きました。ありがとうございます。
743
(1): 2017/06/21(水)12:13 ID:qahQSwg3(1) AAS
>>742
もっとこういう質問で賑わってほしい
書いてて気持ちいい言語だから
angularやreactは流行らなくていいけどフロント開発の標準はtypescriptになってほしい
744
(2): 2017/06/21(水)14:47 ID:CAzvCkNY(1/3) AAS
>>743
定義ファイルがなくて自作するハメになると途端に苦痛になるけどな。
あとReactというかReduxつかってて合わせてimmutable.js使ってると
いつの間にかclassがjsonに変わってることがあってその場合はtypescriptの型と合わなくなるから
しんどい。型が後付じゃない言語ならこういうことがないから、ちょっと辛い。
結局reducer内で使う時にjsonからimmuatblejsのclassに変換して
state返す時にjsonに戻す処理を毎回入れる方針になった。
省3
745: 2017/06/21(水)16:08 ID:QjjhDd/n(1) AAS
>>744
新バージョンではXXX.setが型安全になるからもう少し待て
リテラル型とkeyofを使うらしい
746
(2): 2017/06/21(水)19:23 ID:CAzvCkNY(2/3) AAS
外部リンク:goo.gl
こんな感じのコードでファイルのアップロード処理を作りたいんですが
上手く動かなくて悩んでいます。 お助け下さい
747
(1): 2017/06/21(水)21:09 ID:nUhsZ0ik(1/2) AAS
>>746
ブラウザのセキュリティ設定で、`input.click()`はfileエレメントには効かないみたいですね。
外部リンク:stackoverflow.com
748
(1): 2017/06/21(水)21:50 ID:nUhsZ0ik(2/2) AAS
>>744
immutablejsというのは使ったことないけど、
XXX.set(‘member’, value)みたいな処理もkeyof使ってラップしてあげればkey毎に違う型のvalueに対応できる。
例えばES6のMap<K,V>クラスをラップすれば以下みたいなこともできる。
まあ新しいバージョンで対応されるならわざわざラップクラス作る必要ないがw
class TypeSafeMap...(省略

interface IObject {
省10
749
(1): 2017/06/21(水)22:49 ID:CAzvCkNY(3/3) AAS
>>747
こちらは結局 イベントリスナーをcickではなくchange にすることで上手く動くようになりました。

>>748
typescriptのジェネリクスの性能いいですね。
結構知らない機能がまだありそう。
750
(1): 2017/06/22(木)00:17 ID:u6z6+xvR(1/2) AAS
>>749
それはよかったです、てっきりclickイベントをjsで発火させてファイル選択ダイアログを自動で開かせたいのか思ったw
751
(3): 2017/06/22(木)17:18 ID:77+4f1XL(1/2) AAS
>>750
そうなんですけどリスナーのイベント指定がclickではなくchnageだったってことです。
外部リンク:goo.gl

before
i.addEventListener(‘click’, async (e) => {
after
i.addEventListener('change', async (e) => {
752
(1): 2017/06/22(木)18:30 ID:b2Lz7aux(1) AAS
>>751
たしかのそれもひとつの原因ですね
ですがclickイベントの発火も多分動かないのでは?chブラウザにもよると思いますがchromeで動かなかったですよ
753
(1): 2017/06/22(木)19:47 ID:77+4f1XL(2/2) AAS
>>752
動きましたよ。少なくともchromeでは。動くコードを>>751に貼ったんで
754: 2017/06/22(木)20:06 ID:u6z6+xvR(2/2) AAS
>>753
>>751は手動のクリックイベントからclick発火してるので動きますね
>>746はsettimeout内でclick発火してるので、動かないです
755
(1): 2017/06/24(土)00:04 ID:7kzB7ca0(1) AAS
typescriptでreduxのミドルウェア書いてる人っていませんか?

export interface Middleware {
<S>(api: MiddlewareAPI<S>): (next: Dispatch<S>) => Dispatch<S>;
}

上記interfaceを満たすコードを書けなくて困ってます。サンプルコード的なのどっかにないですかね?
756
(1): 2017/06/25(日)15:04 ID:k1gomwYO(1/2) AAS
reduxってreact関係の何かなのかな?
相変わらずreactの作法は意味不明
流行らずに消えてほしい
757
(1): 2017/06/25(日)15:18 ID:dKXT3hQ7(1) AAS
すみません
今パッケージングというのかライブラリのシステムは何を使うのが正解何ですか?
electronやってみようと思ってタイプライブラリをいれようと思っていろいろなサイト見てやってるんですが
どれも失敗します

今の定番の方法を紹介してるサイトってありませんか?
それとも今は時期がまずいんでしょうか?
758: 2017/06/25(日)16:41 ID:OCPIhIaN(1) AAS
npm -i @types/XXXX
759: 2017/06/25(日)17:11 ID:k1gomwYO(2/2) AAS
>>757
よくわからないけどelectronのtypescript開発は少しややこしい
メインプロセス側と画面側でプロジェクト分けるのが主流で、メインプロセス側はgulpビルド、画面側はwebpackビルドみたいになって少しややこしい
760: 2017/06/25(日)19:32 ID:o1GCb4AX(1) AAS
回答ありがとうございました

もうしばらく待ってみます
761: 2017/06/26(月)10:42 ID:B+I0vs4D(1/2) AAS
>>756
はやっちゃってるんだよなぁ。
React自体は凄くTypeScriptとの親和性は高い。というかむしろ推奨しているくらい。
ただReduxはTypeScriptからどう使えばいいのかよくわからなくて
762: 2017/06/26(月)15:37 ID:B+I0vs4D(2/2) AAS
>>755
自己解決したので書いておきます
ただのロガーの場合

import { Action } from 'actions';
import { State } from 'reducers';

export function myMiddleware(store: redux.MiddlewareAPI<State>):
(next: redux.Dispatch<State>) => redux.Dispatch<State> {
省7
763
(1): 2017/06/27(火)16:22 ID:xkXC4vKS(1/2) AAS
typescriptで書かれてる有名なライブラリって何があるの?
Rx.jsはtypeScriptで書かれてたね。
764: 2017/06/27(火)16:42 ID:mpuQzI8/(1/3) AAS
フレームワークだけどngx
765: 2017/06/27(火)18:35 ID:5NUjqPYf(1) AAS
Dartどっかいったな
766
(1): 2017/06/27(火)19:04 ID:mpuQzI8/(2/3) AAS
googleが作る言語はゴミばっかだからしゃーない
言語のセンスは圧倒的にMSの方が上
MSというよりヘルスバーグが有能すぎる
1-
あと 236 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s