[過去ログ]
TypeScript part2 [転載禁止]©2ch.net (1002レス)
TypeScript part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1430386649/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
605: デフォルトの名無しさん [sage] 2017/04/13(木) 01:13:36.05 ID:rVYtPk7E const STR = "str"; type STRT = "str"; const ABC3: STRT=STR; "str"を2回書かずにABC3が作れればそれでいいんだけど。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/605
606: デフォルトの名無しさん [] 2017/04/13(木) 01:20:51.05 ID:IFJ42qsr >>605 const STR = "str"; const ABC3 = STR; http://mevius.5ch.net/test/read.cgi/tech/1430386649/606
607: デフォルトの名無しさん [sage] 2017/04/13(木) 06:09:08.50 ID:32cPtkAw type STRT = typeof STR http://mevius.5ch.net/test/read.cgi/tech/1430386649/607
608: デフォルトの名無しさん [sage] 2017/04/13(木) 08:01:19.65 ID:rVYtPk7E すまん、確かに思い違いしていたようだ。ありがとう。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/608
609: デフォルトの名無しさん [sage] 2017/04/13(木) 13:00:24.68 ID:XE18llYI 恥ずかしか http://mevius.5ch.net/test/read.cgi/tech/1430386649/609
610: デフォルトの名無しさん [] 2017/04/13(木) 20:33:25.78 ID:IFJ42qsr 認めて謝って感謝してるだけ立派だよ http://mevius.5ch.net/test/read.cgi/tech/1430386649/610
611: デフォルトの名無しさん [sage] 2017/04/16(日) 20:56:40.61 ID:nOhMz2bP TypeScriptでExpressを使う場合について教えてください。 express-generatorなどのサンプルコードだと new Error したオブジェクトにstatusを 突っ込んで返していたりしますが、ここ、TypeScript的にはどうするのが普通でしょう? みなさん自前でErrorのサブクラスを定義しているんでしょうか?あるいはどこかに 定番のものがあったりするんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1430386649/611
612: デフォルトの名無しさん [sage] 2017/04/16(日) 22:51:14.41 ID:SqhlDt4o 「どうでもいい」が普通じゃない? そんなもんエラーハンドラで受けて適当にトレースとエラーメッセージ出したら終わりなんだから 型なんぞ要らん 手段と目的を履き違えるな http://mevius.5ch.net/test/read.cgi/tech/1430386649/612
613: デフォルトの名無しさん [sage] 2017/04/16(日) 23:30:20.32 ID:R4TJTEcK >>611 jsonとして扱えるようにインターフェース定義にしておいたほうが無難な気がする。 シリアライズしても簡単にもとに戻せるし。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/613
614: デフォルトの名無しさん [sage] 2017/04/17(月) 00:09:50.93 ID:CyuLkfZA そういうもんですかね? エラーを表示するだけとは言ってもstatusは正しくセットしなきゃならないわけで、 TypeScriptを使う以上そこも型安全にやりたいってのは自然だと思うんですが。 そこだけtslintの警告をネグるのも気持ち悪いし。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/614
615: デフォルトの名無しさん [] 2017/04/17(月) 00:24:52.52 ID:GVmJ+xSa アプリケーションの仕様としてエラー用のクラスを定義します。Errorのサブクラスだったり新規に自前のクラスを用意するかはケースバイケース。 当然途中で変わることもあり得ます。その際はきちんと他のメンバーと情報共有します。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/615
616: デフォルトの名無しさん [sage] 2017/04/17(月) 07:32:40.57 ID:k0Nquy2H 自分は簡単なアプリではHttpErrorみたいなクラスを定義して使ってる。 もっと複雑なアプリだと、業務エラーのコードとHTTPのエラーコードで もう一階層作ったりもするけど。 だが、これが推奨なやり方なのかは分からん。俺も知りたい。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/616
617: デフォルトの名無しさん [sage] 2017/04/17(月) 08:40:01.39 ID:CyuLkfZA ありがとうございます。 statusというプロパティにステータスを返すのは決まっているんだからどこかに 出来合いのものがあるかと思ったんですが、やっぱり自前なんですね。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/617
618: デフォルトの名無しさん [sage] 2017/04/20(木) 11:26:28.02 ID:T7Zz78Cb npm linkを駆使してtypescriptでビジネスロジックを外部モジュールにしてるんだけど tsc -wで自動コンパイルはできるんだけど 定義ファイルも同時に生成するコマンドオプションってないかな? http://mevius.5ch.net/test/read.cgi/tech/1430386649/618
619: デフォルトの名無しさん [sage] 2017/04/20(木) 11:42:22.36 ID:T7Zz78Cb >>618 すんません -w -dですね。ホント申し訳ない http://mevius.5ch.net/test/read.cgi/tech/1430386649/619
620: デフォルトの名無しさん [sage] 2017/04/21(金) 21:22:59.73 ID:Uj6lwvRH TypeScriptで動的なキャストみたいなことってできるんでしょうか? // どこかで定義されたclass class X {} interface AX extends X { a: string; } func(x: X) { if ( xが a: string というプロパティを持っていれば ) { // ここではxをAXとして扱いたい } } http://mevius.5ch.net/test/read.cgi/tech/1430386649/620
621: デフォルトの名無しさん [] 2017/04/22(土) 00:25:56.48 ID:NysYFg8M >>620 let ax=<AX>x でキャスト出来る。 インターフェースが存在するかどうかはチェックはされないから注意。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/621
622: デフォルトの名無しさん [sage] 2017/04/22(土) 10:55:16.81 ID:scznilxz >>621 ありがとうございました。うまくいきました。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/622
623: デフォルトの名無しさん [sage] 2017/04/26(水) 12:25:16.92 ID:mOputr8e f8appのコード読んでんだけど flowって驚くほどtypeScriptと似てるね。 んでReduxのアクションな書き方が参考になる。 type ParseObject = Object; export type Action = { type: 'LOADED_ABOUT', list: Array<ParseObject> } | { type: 'LOADED_NOTIFICATIONS', list: Array<ParseObject> } | { type: 'LOADED_MAPS', list: Array<ParseObject> } コレ普通にtypeScriptでも使えた。 interface宣言だとこういう書き方できなけどtype宣言だとできんのね。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/623
624: デフォルトの名無しさん [sage] 2017/04/27(木) 14:10:54.61 ID:2oprloyo いやーTypeScriptって本当にいいものですよね 恥ずかしいソース書いてもコンパイルすればそれなりの形になってますし 全ソースが1つにまとまったjsファイルを見るとカタルシスを覚えます javascriptを扱うのに最高の言語です http://mevius.5ch.net/test/read.cgi/tech/1430386649/624
625: デフォルトの名無しさん [] 2017/04/27(木) 16:28:37.55 ID:a+4IBLmk 開発用と納品用でコードわけられるとかありがたい http://mevius.5ch.net/test/read.cgi/tech/1430386649/625
626: デフォルトの名無しさん [sage] 2017/04/27(木) 17:45:10.06 ID:/9P4GBtP minifyが出来なくて悩んでおります。 Targetをes5にしてもエラーが出る。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/626
627: デフォルトの名無しさん [sage] 2017/04/28(金) 08:31:59.89 ID:IMlkcp1b >>626 結局該当箇所っぽいところの構造を変えて解決した case 'Text': { let text: Text; /* ごちゃごちゃした処理*/ text = { type: 'Text', value: node.value, cache: nodeCache }; return text; } ってなってるところで なぜがtextという変数がminifyで消えずに残っていてエラーになっていたところ case 'Text': { // let text: Text; <―削除 /* ごちゃごちゃした処理*/ let text:Text = { type: 'Text', value: node.value, cache: nodeCache }; return text; } ってしたら治った。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/627
628: デフォルトの名無しさん [sage] 2017/04/28(金) 09:00:40.63 ID:IMlkcp1b すいませんminifyの件ですが一番の問題は 外部ライブラリとして別にパッケージを作ってnpm linkしていたんですが その外部ライブラリのtsconfigの設定でtargetをes2015にしていたのが原因のようです。 npm上で公開してるライブラリってes2015のものとes5のものが混ざってるんですかね?もしそうならminifyのとき問題でそう。 そろそろブラウザもes2015に対応してきたし外部ライブラリもes2015でいいんじゃないかと思いましたがまだまだes5のほうがいいんですかねー http://mevius.5ch.net/test/read.cgi/tech/1430386649/628
629: デフォルトの名無しさん [sage] 2017/04/28(金) 15:19:33.29 ID:ZmVIrkLy Announcing TypeScript 2.3 https://blogs.msdn.microsoft.com/typescript/2017/04/27/announcing-typescript-2-3/ http://mevius.5ch.net/test/read.cgi/tech/1430386649/629
630: デフォルトの名無しさん [sage] 2017/04/28(金) 21:52:24.09 ID:CfPEmNk9 >>628 ちゃんと設定すれば、TypeScriptが変換してくれるんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1430386649/630
631: デフォルトの名無しさん [sage] 2017/04/29(土) 00:20:26.49 ID:Ix6JNrOr >>630 targetをes5にしてlibに”dom”と”es2017”を設定したら ちゃんとminifyもできつつasync await とかobject.assaignとか使えました。 typescriptの問題というよりuglify-jsの問題ってことすね。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/631
632: デフォルトの名無しさん [sage] 2017/04/29(土) 08:40:51.51 ID:fFSdol5k >>629 ギャー!! 適用したらエラーだらけになった!! http://mevius.5ch.net/test/read.cgi/tech/1430386649/632
633: デフォルトの名無しさん [sage] 2017/04/29(土) 09:01:35.78 ID:fFSdol5k アンインストールしたらVSでtsファイル開いても識別子の色分けとかインテリセンスが出てこなくなってVSぶっ壊れたわ 再インストールだなこりゃ http://mevius.5ch.net/test/read.cgi/tech/1430386649/633
634: デフォルトの名無しさん [sage] 2017/04/29(土) 09:05:24.76 ID:fFSdol5k 2.3アンインストール後に再度2.3インストールしてもぶっ壊れたまま 迂闊に入れないほうがいいなこれ http://mevius.5ch.net/test/read.cgi/tech/1430386649/634
635: デフォルトの名無しさん [] 2017/04/29(土) 14:53:43.74 ID:D/W8thCK 馬鹿には無理 http://mevius.5ch.net/test/read.cgi/tech/1430386649/635
636: デフォルトの名無しさん [sage] 2017/04/30(日) 09:24:14.29 ID:V5NYhrdd 不細工ハゲが偉そうに http://mevius.5ch.net/test/read.cgi/tech/1430386649/636
637: デフォルトの名無しさん [sage] 2017/04/30(日) 11:46:36.73 ID:A3RU6CWl 不細工じゃねーし! http://mevius.5ch.net/test/read.cgi/tech/1430386649/637
638: デフォルトの名無しさん [sage] 2017/04/30(日) 12:00:27.54 ID:0Jw8BHIT 相対パスでimportしようとすると from ’../../lib/a’ と書くことが多いのですが ..を何とかしようと思いtsconfigでbaseUrlを設定したところ from ‘lib/a’とかけるようになって素敵だったんですが 生成したjs側で同じように相対パスを使わない方法にできずjs側からimportできなくなりました。 どうすればいいんですかね http://mevius.5ch.net/test/read.cgi/tech/1430386649/638
639: デフォルトの名無しさん [sage] 2017/04/30(日) 12:07:35.75 ID:VPr4LyhY deployしてみ http://mevius.5ch.net/test/read.cgi/tech/1430386649/639
640: デフォルトの名無しさん [sage] 2017/04/30(日) 13:53:10.60 ID:bwYTEyCy おい、>>637に突っ込めよ! http://mevius.5ch.net/test/read.cgi/tech/1430386649/640
641: デフォルトの名無しさん [sage] 2017/04/30(日) 14:18:46.56 ID:uAfPQWLU ハゲに付ける薬なし http://mevius.5ch.net/test/read.cgi/tech/1430386649/641
642: デフォルトの名無しさん [sage] 2017/05/01(月) 13:56:45.49 ID:1hc/XS6U jsonのデシリアライズ等で得られた任意のオブジェクトが指定のinterfaceに適合するかどうか 簡単に判定する方法ってないでしょうか? 実行コストがかかるのはしょうがないので、npmのライブラリでもあれば助かります。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/642
643: デフォルトの名無しさん [sage] 2017/05/01(月) 14:12:45.68 ID:y6q+iQAV 実行時に型情報は取得できないので無理 http://mevius.5ch.net/test/read.cgi/tech/1430386649/643
644: デフォルトの名無しさん [sage] 2017/05/01(月) 14:56:45.23 ID:dX7m944z >>642 俺は各interfaceの定義にtypeを入れてる。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/644
645: デフォルトの名無しさん [sage] 2017/05/01(月) 15:43:26.17 ID:FD8bdV22 >>642 あーなるほどtypesciptのinterface要件を満たしてるかチェックするライブラリかー。 interfaceに対するメタプログラミングができる仕組みってtypescript側に用意されてんのかな http://mevius.5ch.net/test/read.cgi/tech/1430386649/645
646: デフォルトの名無しさん [sage] 2017/05/01(月) 16:42:03.86 ID:y6q+iQAV ランゲージサービスから情報引っ張ってコード生成するまでやればできる http://mevius.5ch.net/test/read.cgi/tech/1430386649/646
647: デフォルトの名無しさん [sage] 2017/05/01(月) 18:22:52.40 ID:s/VndsAg >>642 初心者なんで教えて欲しいんですが どう言う状況でそう言うのが必要に なるんですか? http://mevius.5ch.net/test/read.cgi/tech/1430386649/647
648: デフォルトの名無しさん [sage] 2017/05/01(月) 22:27:57.85 ID:1hc/XS6U >>643-647 回答ありがとうございます。 外部から入手したany型のオブジェクトに対して、一度型チェックしたらTypeGuardの下で 扱えたら便利だと思ったんですが、そう単純なものはなさそうですね。 interface毎にUser-Defined Type Guard Functionてのを用意するのが今のところ いちばんシンプルですかね。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/648
649: デフォルトの名無しさん [sage] 2017/05/01(月) 23:04:54.13 ID:FD8bdV22 >>646 interfaceをparseするの簡単にできたわ ジェネレータは作れそう。後はObjectを チェックするコードをかければ、、、 そっちがよくわかんないな。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/649
650: デフォルトの名無しさん [sage] 2017/05/02(火) 00:15:01.17 ID:79+IkLPk JSON限定でいいならJSON Schema生成するだけじゃね http://mevius.5ch.net/test/read.cgi/tech/1430386649/650
651: デフォルトの名無しさん [sage] 2017/05/05(金) 00:50:33.95 ID:oXL5lOIH webpackでtypescript使う時にts-loaderがtypeRootsオプションを認識してくれないような。 自作の定義ファイルを読みに行ってくれない。 結局nodes_modules/@types/においたらうごくんだけど。なんだかなぁ http://mevius.5ch.net/test/read.cgi/tech/1430386649/651
652: デフォルトの名無しさん [] 2017/05/05(金) 10:24:07.07 ID:E/UcmmKD -g http://mevius.5ch.net/test/read.cgi/tech/1430386649/652
653: デフォルトの名無しさん [sage] 2017/05/07(日) 12:47:49.44 ID:tRHTfDHo redux のreducer書く時型付きじゃないと死ぬ。 素のjsでよく書ける人いるなぁ http://mevius.5ch.net/test/read.cgi/tech/1430386649/653
654: デフォルトの名無しさん [sage] 2017/05/10(水) 22:53:30.65 ID:TahTqR8d >>650 これやってみようかと思ったけど、class定義からschema生成するか逆にschemaから生成するか、 どっちがいいか悩ましいなぁ。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/654
655: デフォルトの名無しさん [sage] 2017/05/11(木) 06:23:41.84 ID:6GcWGmCe JSON Schemaの方が表現力がずっと高いから、 実用的に意味があるのは後者だろうね 型だけなら全部空文字と0とfalseでもいいんだから http://mevius.5ch.net/test/read.cgi/tech/1430386649/655
656: デフォルトの名無しさん [sage] 2017/05/11(木) 06:40:52.39 ID:Uo4oHcSP JSON Schemaからのdts生成は既存のツールがいくつかあるみたいだな 逆はバリデーションとしてはほぼ無意味かと http://mevius.5ch.net/test/read.cgi/tech/1430386649/656
657: デフォルトの名無しさん [sage] 2017/05/11(木) 21:37:19.65 ID:Foo76VTo 目的が上で書いているようにシリアライズ-デシリアライズされたオブジェクトの型の復元なら、 interface定義を自分で書いてschemaは裏方というのが自然だとは思うが。 ただ、schemaを生成する方のツールは技術的にハードルが高いせいか選択肢があまりないな。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/657
658: デフォルトの名無しさん [sage] 2017/05/15(月) 21:27:32.04 ID:ZdTGw5ha そもそもシリアライズという発想自体がJavaScript的でないと思うけどね データスキーマから入るのがJSでしょ http://mevius.5ch.net/test/read.cgi/tech/1430386649/658
659: デフォルトの名無しさん [sage] 2017/05/15(月) 22:43:08.64 ID:JDFIgPdx シリアライズってJSONのこと言ってるわけだろ。 言語自体にサポートの無いC++などと比べてもよっぽど馴染みがあると思うが。 で、JavaScriptだとそこまででいいんだけど、TypeScriptで型まで戻すにはどうするか?って話だろ。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/659
660: デフォルトの名無しさん [sage] 2017/05/15(月) 23:00:01.30 ID:ZdTGw5ha バリデーションとシリアライズが別系統なのは煩雑じゃない? コードだけで全部定義するならアノテーション使うなりしてJSON Schema相当の表現力は欲しいし、 割り切って別にするならシリアライズ系の方は中途半端なバリデーションなんかいっそ無しにて ノーチェックでいいと思うよ http://mevius.5ch.net/test/read.cgi/tech/1430386649/660
661: デフォルトの名無しさん [sage] 2017/05/15(月) 23:16:34.01 ID:JDFIgPdx うん、上から目線で何か言いたいという気持ちだけは伝わった。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/661
662: デフォルトの名無しさん [sage] 2017/05/15(月) 23:59:53.11 ID:5dbS9yKw http://stackoverflow.com/questions/33800497/check-if-an-object-implements-an-interface-at-runtime-with-typescript Yesの回答にそれっぽいコードがあるが本当に動作するのか疑問。 他はSchemaを使う回答だが、よほどでないと大袈裟な気も。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/662
663: デフォルトの名無しさん [sage] 2017/05/16(火) 00:46:18.76 ID:6a8gh5yc 自分でコンパイラ拡張して実装したみたいだけどこういうの本家の更新についてけずに陳腐化するのが常だから使えない ついでにビルドツールなどのエコシステムも使えない http://mevius.5ch.net/test/read.cgi/tech/1430386649/663
664: デフォルトの名無しさん [sage] 2017/05/16(火) 07:36:06.00 ID:MR0lnxJG 正攻法だとanyを受け取って目的の型のオブジェクトにして返す関数を用意することになるんだろうが、 やることは同じようなものなのにそれぞれ型ごとに個別に用意しなければならないのが煩雑だな。 よっぽど重要な型でしかやりたくない感じ。 確かにこれが、型ガードの感覚で気軽に使えるようになったら便利だと思うけど。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/664
665: デフォルトの名無しさん [sage] 2017/05/16(火) 08:02:09.48 ID:64KrDfHK TypeScriptの思想的にもスキーマありきで型は後付けの方が自然だと思うわ http://mevius.5ch.net/test/read.cgi/tech/1430386649/665
666: デフォルトの名無しさん [sage] 2017/05/16(火) 08:27:24.80 ID:MR0lnxJG その「スキーマ」が何を指しているかよくわからんな。 まさか「JSON schemaありき」って言いたいわけじゃないだろうが。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/666
667: デフォルトの名無しさん [sage] 2017/05/16(火) 09:01:29.19 ID:64KrDfHK >>666 別に実装は何でもいいんじゃない? 先にJSONドキュメントそのものを設計しろってこと http://mevius.5ch.net/test/read.cgi/tech/1430386649/667
668: デフォルトの名無しさん [sage] 2017/05/16(火) 10:11:34.64 ID:Jgr59aIg objectを先に設計してstringifyの方が一般的だと思うが。 つまりtsなら型が先。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/668
669: デフォルトの名無しさん [sage] 2017/05/16(火) 13:21:49.91 ID:xkpWN83w jsonに対するinterface適用にわざわざスキーマ使うのはだるいな。 やはりメンバにtypeとかを事前に追加しておいて、そこを見てキャストさせるほうが楽だわ。もちろんそのjson自体が自分で改変可能である必要はあるが。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/669
670: デフォルトの名無しさん [sage] 2017/05/16(火) 13:49:23.26 ID:6a8gh5yc 言語がサポートしてるのはその使い方だからな http://mevius.5ch.net/test/read.cgi/tech/1430386649/670
671: デフォルトの名無しさん [sage] 2017/05/16(火) 14:24:04.58 ID:KRJlMJox TypeScript ⇔ JSONSchema を相互に変換するコードは既に転がってるから どちらでも好みで原本にすれば良いんじゃないの? まぁあまり自動化を頑張っても、構造が複雑になると結局手書きが必要になる分野だとは思うけど http://mevius.5ch.net/test/read.cgi/tech/1430386649/671
672: デフォルトの名無しさん [sage] 2017/05/16(火) 14:48:54.41 ID:64KrDfHK 型で記述しきれないバリデーションについてはDecoratorsを使うのがベストなんだろうけど、 interfaceには使えないんだよな まあJSONだけならそれでもいいかもしれないが http://mevius.5ch.net/test/read.cgi/tech/1430386649/672
673: デフォルトの名無しさん [sage] 2017/05/16(火) 15:28:34.19 ID:6a8gh5yc リリースノートも見ずにオレオレソリューションひねり出すのやめない? https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#tagged-union-types http://mevius.5ch.net/test/read.cgi/tech/1430386649/673
674: デフォルトの名無しさん [sage] 2017/05/16(火) 15:33:13.80 ID:4P1sgrCm interfaceがトランスパイル後に消滅しちゃうの辛いよな。 言語機能でいい感じに残す機能つけてほしいが、そういう提案ってないの? 最近ついたというプラグインで可能になる? http://mevius.5ch.net/test/read.cgi/tech/1430386649/674
675: デフォルトの名無しさん [sage] 2017/05/16(火) 15:42:38.42 ID:6a8gh5yc >>662で公式で却下されたと書いてある まあESの仕様壊すし残当 http://mevius.5ch.net/test/read.cgi/tech/1430386649/675
676: デフォルトの名無しさん [sage] 2017/05/16(火) 15:48:01.77 ID:KRJlMJox >>673 この文脈 (>>642, 648) では、型フィールドを信用するのはノーチェックと同じ意味だぞ 外部からのデータが、内部的な制約を満たすことの保証を求めてる http://mevius.5ch.net/test/read.cgi/tech/1430386649/676
677: デフォルトの名無しさん [sage] 2017/05/16(火) 16:10:10.21 ID:6a8gh5yc いや関数に隠蔽すれば壊すまではいかんか >>676 入力データの検査も値レベルの制約も手でやること 型システムに求めることじゃない 型を信じてノーチェックが型安全でありそうでなければオーバーヘッドで死ぬ 本人もタイプガードで満足してるしそれが正解 http://mevius.5ch.net/test/read.cgi/tech/1430386649/677
678: デフォルトの名無しさん [sage] 2017/05/16(火) 17:11:36.85 ID:rTo/YyDO >>675 まぁESの仕様+型だけだから学習コストが低いってのはあるしね。 でも直感的にinterface定義が消えちゃうのはなんだかなぁって気はする。 こうなったらES側に頑張ってもらうしかないな。パターンマッチング付けてー http://mevius.5ch.net/test/read.cgi/tech/1430386649/678
679: デフォルトの名無しさん [sage] 2017/05/29(月) 18:33:36.63 ID:DGY6L2yw >>651 コレが解決した。 悩んでいつつも暫定対処で乗り切ってただけに小骨が喉に刺さっているような気分でしたわ。 結論としてはtypeRootsオプションは/// <reference types=".." /> を使う時のpath解決でしか使わないって。 ハンドブックをどう読んでもそう書いているように見えない。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/679
680: デフォルトの名無しさん [sage] 2017/06/02(金) 03:21:08.54 ID:0selKGQ0 typescriptでimmutablejs使ってるけどいまいち恩恵を得づらい。 updateInとかパスが補完効いたり出来ればいいのに http://mevius.5ch.net/test/read.cgi/tech/1430386649/680
681: デフォルトの名無しさん [sage] 2017/06/02(金) 08:57:46.98 ID:vyfZNbsR thisを変数に入れたいときの変数名ってみんな何してる? _thisが使えればいいんだけどなー http://mevius.5ch.net/test/read.cgi/tech/1430386649/681
682: デフォルトの名無しさん [sage] 2017/06/02(金) 09:08:17.58 ID:Ef+/+PyI 変数に入れた後のthisはthisなんですか・・・・? http://mevius.5ch.net/test/read.cgi/tech/1430386649/682
683: デフォルトの名無しさん [sage] 2017/06/02(金) 09:09:32.94 ID:lCCVb2h3 thatだがそもそもそんなこと必要にならない http://mevius.5ch.net/test/read.cgi/tech/1430386649/683
684: デフォルトの名無しさん [sage] 2017/06/02(金) 09:20:29.61 ID:8OnrstJc JavaScriptのクロージャにおけるthis問題の回避はselfが定番 TypeScriptで必要なケースは少ないはずだけど http://mevius.5ch.net/test/read.cgi/tech/1430386649/684
685: デフォルトの名無しさん [sage] 2017/06/02(金) 09:43:18.53 ID:LceXbV2F >>681 _thisはダメなの? http://mevius.5ch.net/test/read.cgi/tech/1430386649/685
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 317 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s