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
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2015/04/30(木) 18:37:29.98ID:ynMflk1l967デフォルトの名無しさん
2018/02/13(火) 05:54:42.41ID:kAM/OKSF 型を後付した言語の限界があるよな。
ストレージに一度保存して意図せずjsonになってたり、関数のインターフェース上nullやundefind許容しない設定にしてても結局js側でnullの可能性のある値を渡されたらバグるし。
例えばjsとtsの境界部分。
モジュールとして外出ししている関数とかのインターフェースとかをきちんとnullチェックしてくれるコードを自動で埋め込んでくんないかな。
ストレージに一度保存して意図せずjsonになってたり、関数のインターフェース上nullやundefind許容しない設定にしてても結局js側でnullの可能性のある値を渡されたらバグるし。
例えばjsとtsの境界部分。
モジュールとして外出ししている関数とかのインターフェースとかをきちんとnullチェックしてくれるコードを自動で埋め込んでくんないかな。
968デフォルトの名無しさん
2018/02/13(火) 06:47:09.07ID:a2BGtfue それは信頼できないjsが悪いだけだろ
外部のクソコードはどうにもならん
外部のクソコードはどうにもならん
969デフォルトの名無しさん
2018/02/13(火) 09:13:05.77ID:cOH/iFjL TypeScriptが目指してるのはコンパイル時型チェックであって実行時型チェックではない
コンパイル時型チェックならパフォーマンスに影響はない(処理系によってはむしろ向上する)が実行時型チェックは明確にパフォーマンスが落ちる
PHPなんかは実行時型チェックを実装しちゃったもんだからクラスのメンバに型宣言するRFCすらリジェクトされてる
コンパイル時型チェックならパフォーマンスに影響はない(処理系によってはむしろ向上する)が実行時型チェックは明確にパフォーマンスが落ちる
PHPなんかは実行時型チェックを実装しちゃったもんだからクラスのメンバに型宣言するRFCすらリジェクトされてる
970デフォルトの名無しさん
2018/02/13(火) 15:21:25.94ID:xpZzv5qK >>969
ですよね。それはわかっているんですが、、、、
せめてlint的な感じでjs向けのインターフェースが null| undefinedの可能性があるから直せみたいな警告が出るといいんですけど。
async func 内の await記入漏れと一緒にほしい。
ですよね。それはわかっているんですが、、、、
せめてlint的な感じでjs向けのインターフェースが null| undefinedの可能性があるから直せみたいな警告が出るといいんですけど。
async func 内の await記入漏れと一緒にほしい。
971デフォルトの名無しさん
2018/02/13(火) 15:22:21.77ID:xpZzv5qK972デフォルトの名無しさん
2018/02/13(火) 22:00:08.76ID:XkJQyT0D jsから呼ばれる部分はどうやってもチェックしようがないと思うぞ。
973デフォルトの名無しさん
2018/02/20(火) 18:34:14.34ID:KguAhC0Q yarnのワークスペースを使用して、Create React AppとCreate React Native App (Expo) で共通のコードを共有する
https://taiyaq.com/contents/gk1Kr17x8vW9LIozNo51lez9rr
を参考にしてcreate-react-app でtypescriptプロジェクトを作ったんだけど
ワークスペース内での型情報の共有がうまくいかない。
それぞれ単体では動くんだけど。既に試している人っている?
https://taiyaq.com/contents/gk1Kr17x8vW9LIozNo51lez9rr
を参考にしてcreate-react-app でtypescriptプロジェクトを作ったんだけど
ワークスペース内での型情報の共有がうまくいかない。
それぞれ単体では動くんだけど。既に試している人っている?
974デフォルトの名無しさん
2018/02/26(月) 16:47:13.03ID:Y4Glcgpd ブラウザで動く個人的なちょっとしたものしか作らなくて、
ライブラリはimportしないで自分でscriptタグで読み込んでるから、
@typesの定義だけ欲しいんだけど、今って中身のないstubばかりで
importしないと使えないんだけど、これってどうすればいいのでしょうか?
仕方なくファイルをルートにコピーして、意味がわからないまま
export as namespace hogehoge; みたいな文をくっつけたりして
何とか機能するようにしてるけど、非常に困ってます
ライブラリはimportしないで自分でscriptタグで読み込んでるから、
@typesの定義だけ欲しいんだけど、今って中身のないstubばかりで
importしないと使えないんだけど、これってどうすればいいのでしょうか?
仕方なくファイルをルートにコピーして、意味がわからないまま
export as namespace hogehoge; みたいな文をくっつけたりして
何とか機能するようにしてるけど、非常に困ってます
975デフォルトの名無しさん
2018/02/26(月) 17:28:19.81ID:wXoocKSL .d.tsファイルでインポートすればいいはず
976デフォルトの名無しさん
2018/02/26(月) 19:51:46.67ID:Y4Glcgpd いろいろやってみたけど、なかなか上手くいかない。
tsc --listFilesってやると、定義自体は読み込めてるようなんだけど、
要するに、d.tsファイルがIsomorphic modules (UMD global)ってやつに対応した書き方になってなくて、
それに対応するためにexport as namespace hogehoge; が必要だったりするらしい
https://www.typescriptlang.org/docs/handbook/modules.html#umd-modules
tsc --listFilesってやると、定義自体は読み込めてるようなんだけど、
要するに、d.tsファイルがIsomorphic modules (UMD global)ってやつに対応した書き方になってなくて、
それに対応するためにexport as namespace hogehoge; が必要だったりするらしい
https://www.typescriptlang.org/docs/handbook/modules.html#umd-modules
977デフォルトの名無しさん
2018/02/26(月) 21:54:01.34ID:0Cvn/PR2978デフォルトの名無しさん
2018/02/26(月) 23:16:55.53ID:Y4Glcgpd 例えば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とか
わけわかりません。
自分の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とか
わけわかりません。
979デフォルトの名無しさん
2018/02/27(火) 01:53:35.35ID:ZLoGDkNB >>978
@typesは別にオワコンじゃない。
型定義を提供するのに2つのルートがあるってだけ。
momentは作者側で型定義を提供してくれてるってだけ。
ところで解決したってことでいいんだよね?
/// <reference path="./mytypes/moment.d.ts"/>
みたいな感じでカスタムしたd.tsを読めばいいだけだし。
@typesは別にオワコンじゃない。
型定義を提供するのに2つのルートがあるってだけ。
momentは作者側で型定義を提供してくれてるってだけ。
ところで解決したってことでいいんだよね?
/// <reference path="./mytypes/moment.d.ts"/>
みたいな感じでカスタムしたd.tsを読めばいいだけだし。
980デフォルトの名無しさん
2018/02/27(火) 01:59:51.55ID:ZLoGDkNB つーかUMD対応中みたいだね
https://github.com/moment/moment/pull/3688
ワークアラウンドとして
import * as _moment from 'moment';
export as namespace moment;
export = _moment;
というd.tsを作ってimportすればいい
https://github.com/moment/moment/pull/3688
ワークアラウンドとして
import * as _moment from 'moment';
export as namespace moment;
export = _moment;
というd.tsを作ってimportすればいい
981デフォルトの名無しさん
2018/02/27(火) 12:44:23.84ID:XDcEi9Sw import使っちゃった意味ないんだけどね
vueみたいに複数のファイルに分けられちゃうと大幅に変えないといけないから
気軽にプルリクできない感じがする
だが自分でその場しのぎの対応してると、バージョン上げられた時に詰む
vueみたいに複数のファイルに分けられちゃうと大幅に変えないといけないから
気軽にプルリクできない感じがする
だが自分でその場しのぎの対応してると、バージョン上げられた時に詰む
982デフォルトの名無しさん
2018/02/27(火) 12:53:20.87ID:XDcEi9Sw 勘違いしてた
import _moment from 'moment';
export as namespace moment;
export = _moment;
とか、
import _Vue from 'Vue';
export as namespace Vue;
export = _Vue;
みたいに書けばいいのか。
すごい。解決した
import _moment from 'moment';
export as namespace moment;
export = _moment;
とか、
import _Vue from 'Vue';
export as namespace Vue;
export = _Vue;
みたいに書けばいいのか。
すごい。解決した
983デフォルトの名無しさん
2018/03/01(木) 22:44:29.35ID:V7eofqS1 次スレカモン
984デフォルトの名無しさん
2018/03/12(月) 23:33:32.22ID:ZJVFDbUv985デフォルトの名無しさん
2018/03/16(金) 08:23:22.72ID:K5Isy9NI Announcing TypeScript 2.8 RC
https://blogs.msdn.microsoft.com/typescript/2018/03/15/announcing-typescript-2-8-rc/
https://blogs.msdn.microsoft.com/typescript/2018/03/15/announcing-typescript-2-8-rc/
986デフォルトの名無しさん
2018/03/16(金) 14:11:16.40ID:HcB/quXY >>983
次スレのテンプレに入れたほうがいいものとかある?
次スレのテンプレに入れたほうがいいものとかある?
987デフォルトの名無しさん
2018/03/17(土) 00:42:53.78ID:4Xu/HAYS tsconfigのexcludeの項目を、compilerOptionsの中に書いてて、何でダメなんだろう悩んじゃった
設定はcompilerOptionsの中に書くものと思い込んでて、全然気付けなかった
設定はcompilerOptionsの中に書くものと思い込んでて、全然気付けなかった
988デフォルトの名無しさん
2018/03/17(土) 21:01:59.42ID:zUTKt+H5989デフォルトの名無しさん
2018/03/28(水) 08:14:57.22ID:3iq+90ex Announcing TypeScript 2.8
https://blogs.msdn.microsoft.com/typescript/2018/03/27/announcing-typescript-2-8/
https://blogs.msdn.microsoft.com/typescript/2018/03/27/announcing-typescript-2-8/
990デフォルトの名無しさん
2018/04/02(月) 17:52:32.10ID:G4IZotVZ 俺のtypescriptが好きすぎる感情をどこにぶつけていいかわからない
991デフォルトの名無しさん
2018/04/02(月) 18:53:21.97ID:aSG3UjFJ Qiitaでええやろ
992デフォルトの名無しさん
2018/04/03(火) 10:37:57.34ID:0rmSrban >>990
俺も俺も!。qiitaでもいいしココでもいいよ!!
俺も俺も!。qiitaでもいいしココでもいいよ!!
993デフォルトの名無しさん
2018/04/03(火) 11:33:16.29ID:R6gDm2yr 次スレよろ
994デフォルトの名無しさん
2018/04/05(木) 19:58:55.32ID:0c0qrJs0 スレ立てにぶつけることが決まったな
995デフォルトの名無しさん
2018/04/20(金) 07:03:30.59ID:yIya3QmH どうしたん?人気あるわりにここ静かやん
996デフォルトの名無しさん
2018/04/20(金) 09:50:01.67ID:WJk0jxxj 続きはCMのあとで!
997デフォルトの名無しさん
2018/04/24(火) 20:06:57.83ID:TUZ43qB9 はよ次スレ
998デフォルトの名無しさん
2018/04/24(火) 21:50:54.24ID:BAt1Eldp うむ
999デフォルトの名無しさん
2018/04/26(木) 21:48:57.62ID:mMDBzDaB1000デフォルトの名無しさん
2018/04/26(木) 21:52:07.15ID:vM7mL5EC safariが次のIEと呼ばれているように、
Typescriptは次のcoffeescriptと言われているwww
Typescriptは次のcoffeescriptと言われているwww
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1092日 3時間 14分 38秒
新しいスレッドを立ててください。
life time: 1092日 3時間 14分 38秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- 【ペルソナ・ノン・グラータ】中国総領事の早期国外退去を首相に要請へ 自民・保守系グループ「日本の尊厳と国益を護(まも)る会」 [ぐれ★]
- 【Jリーグ】モンテディオ山形 新スタジアム会員、募集停止 資金計画を再調整、年明け再開予定 [鉄チーズ烏★]
- 安倍晋三「円が300円になったらトヨタ車が3分の1で売れる。日本への旅費も3分の1になる。そうすればあっという間に経済は回復していく」 [177178129]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 無水カレー作るんやが、何入れたら美味しい?
