TypeScript part3at TECH
TypeScript part3 - 暇つぶし2ch2:デフォルトの名無しさん
18/04/27 06:45:07.76 UX/6tIio.net
>>1

3:デフォルトの名無しさん
18/04/27 09:24:36.34 BNvpvGEw.net
乙、、待っていたぜ

4:デフォルトの名無しさん
18/04/27 17:49:53.89 ash3pEtl.net
GJ

5:デフォルトの名無しさん
18/05/05 14:43:25.34 Hx/KX5JV.net
hoshu

6:デフォルトの名無しさん
18/05/06 11:12:16.85 bNo7GvvW.net
Hyperappのloggerの型定義ファイルってどこで手に入りますか?

7:デフォルトの名無しさん
18/05/06 11:13:58.74 vA78yxDd.net
【マイトLーヤのTV出演】 『何の情報もないのか』 "セイブ・ジ・アース″ 『むしろ人類は危ない』
スレリンク(liveplus板)

8:デフォルトの名無しさん
18/05/14 20:40:19.77 ElOAQ/Hl.net
TSDoc - TypeScriptソースコードのドキュメント化フォーマット
URLリンク(www.infoq.com)

9:デフォルトの名無しさん
18/05/23 19:29:37.11 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
19LH5

10:デフォルトの名無しさん
18/06/01 08:11:32.75 3a9sqoct.net
Announcing TypeScript 2.9
URLリンク(blogs.msdn.microsoft.com)

11:デフォルトの名無しさん
18/07/04 22:39:11.44 gFgZc5FG.net
4BN

12:デフォルトの名無しさん
18/07/07 07:17:19.72 W+8CFE2I.net
TypescriptでReactを使用してますが、型定義がないReactのライブラリが多すぎて、大変ではないですか?
型定義があっても、古くて最新のライブラリと違ったりしてうんざりしてるんですが、みなさんは平気ですか?

13:デフォルトの名無しさん
18/07/07 17:47:00.67 VPAckTLG.net
propsくらい自分で型定義してどうぞ

14:デフォルトの名無しさん
18/07/09 00:13:40.86 uCPaSCaV.net
ないよりか遙かにマシ、というスタンスでいた方がいい
何なら自分でtypedにコミットすべき

15:デフォルトの名無しさん
18/07/31 14:30:07.10 hUeEeg0Y.net
Announcing TypeScript 3.0
URLリンク(blogs.msdn.microsoft.com)

16:デフォルトの名無しさん
18/08/02 20:54:21.86 h7+cZz4a.net
FacebookはReactの開発をTypescriptで行わない理由として、Flowの方が型が厳密だと言っているけど、
その辺、Typescript使いとしてはどう?

17:デフォルトの名無しさん
18/08/02 23:29:59.64 joScD/1f.net
んーとね
わかんない

18:デフォルトの名無しさん
18/08/03 01:22:20.77 xgfpZ/vV.net
>>16
それ情報古くね?今はTypeScriptでも遜色ないし型情報が集まってるtsの方が優位

19:デフォルトの名無しさん
18/08/04 00:04:10.84 i6N4cmbB.net
でもTSは推論糞雑魚言語だよね

20:デフォルトの名無しさん
18/08/04 13:54:19.51 EUmm298h.net
型定義にそんなに悩む理由がわからん。
C#とPythonやって、Pythonは動的型付けなんだ、ですぐ慣れた。
jsの時だけ悩む理由がわからん。
推測するに、恐らくJava的な多人数による土方的開発法やってるからだろうと思う。
jsは少人数でアジャイルが基本でしょw

21:デフォルトの名無しさん
18/08/04 15:12:52.05 CIDYb54h.net
あと「小規模」な。

22:デフォルトの名無しさん
18/08/04 16:08:48.09 uVhwgvNs.net
型を理解できない低学歴にはTSの学習コストは高かろうな
まぁ、ずっとjQueryとかでウンコみたいな小規模LP作ってればいいんじゃないか?

23:デフォルトの名無しさん
18/08/04 16:44:42.65 EUmm298h.net
正直に言うと、Typescript使えると仕事の幅が広がるじゃんか。
あと何かカッコイイし(笑)
なるべく使った方が早く覚えるでしょ。
収入に直結するからそれだけ。
土方がどうとかは否定できない。
大人数だと事前に仕様をビシッと決めるから、型定義も仕様書に落とし込んでおかないといけない。
まあPerlやPythonではなんで型にこだわってる人いなかったのに、JavaScriptだけうるさいのかはよく分からないね。
自分はそれだけ世間の本気度が高い証拠なんだろうと勝手に解釈しているよ。

24:デフォルトの名無しさん
18/08/04 16:50:42.07 YdqNX3ax.net
>>23
> まあPerlやPythonではなんで型にこだわってる人いなかったのに、JavaScriptだけうるさいのかはよく分からないね。
PerlやPythonでは「製品」を作らないからだろう。

25:デフォルトの名無しさん
18/08/04 17:06:43.23 uVhwgvNs.net
perlはただのゴミ
pythonはTypeHinting導入されたぞ
そんなことも知らないのか(呆れ、嘲笑、溜息)

26:デフォルトの名無しさん
18/08/04 18:35:06.39 n184/BRZ.net
本来スクリプト言語は動的型付で良い。
ただJavaScriptは近年汎用性を増して、一般的なスクリプト言語の域から超越しつつある。
TypeScriptはJavaScriptを本格的なシステム開発言語に昇格させる為の試みの一つ。
ただこれは諸刃の刃でもあり、JavaScriptがスクリプト言語から卒業したら、第二のJavaと変わらない。
意外とそれを望んでる奴は多いかもな。
静的型付などBASICから実装されていたのだから、昔に戻ったと言う事だ。

27:デフォルトの名無しさん
18/08/04 18:45:31.78 uVhwgvNs.net
漸進的型付けの目指すところは、Javaの古臭い型とは異なるし、その認識は間違っている
土方だの言ってる馬鹿は論外

28:デフォルトの名無しさん
18/08/04 18:47:10.99 LcV/uUAN.net
Dartってどこいったん?どうなっとるん?

29:デフォルトの名無しさん
18/08/04 18:58:23.17 RkzMVTpt.net
jQueryみたいなのつかってるヴァカが騒いでいるんだろう
あんなもの使わないといけないなら、要件定義がそもそも間違えている。
TypeScriptも使えないヴァカは存在価値がない。
俺らは土方じゃなくて、プログラミングの職人なんだよ。
私大文系のヴァカはおとなしくエクセルでもいじってろよ

30:デフォルトの名無しさん
18/08/04 19:06:10.99 05jB8GFH.net
どうした?
急に盛り上がってきたな

31:デフォルトの名無しさん
18/08/04 19:20:43.60 YdqNX3ax.net
>>26
△ ただJavaScriptは近年汎用性を増して
○ ただ、ブラウザは近年汎用性を増して、それに付帯するプログラミング言語であるJavaScriptも
WebAssemblyもどうやらマジでやってるようだし、
実現した際にはJavaScriptも一つの選択肢にすぎない。
型あり、型推論、形無し言語を自由に選べるようになる。勿論Javaも含めて。
(というか本来Javaが機能していればWebAssemblyは不要だったはず)
俺自身はTSを使ってはいないのだが、
コンセプト的には「書きたいところだけ書ける型」のTSがいいと思うよ。

32:デフォルトの名無しさん
18/08/04 19:29:26.08 0Kx3qW8V.net
>>29
お前はマ版から出てくるな
>ヴァカに混じってJSをやる事になったのだが
>Angularのドキュメント書いた奴氏ねよ

>私大文系が格好付けてワザと分かりにくく書いてるだろ
>何言ってるのかさっぱりだわ

>ヴァカに文章かかせるなよ
Angular.jsの解説文も理解できない奴が何言ってんだよ

33:デフォルトの名無しさん
18/08/04 22:37:51.13 uVhwgvNs.net
確かにヴァカだなぁ
解説文以前に、AngularはVue並のゴミなんだから
その指摘はあさってだわ

34:デフォルトの名無しさん
18/08/05 03:29:49.87 CiziHO2r.net
Angularみたいなゴミに難しい解説付けてるのが悪い
私大文系のクズが自分らを偉そうに見せる為にやってんのがバレバレだ
ヴァーカは救いようがないな
俺は長年Java一筋だったが変数に型が無いのなどあり得ないわ
仕様書に型が書いてないなんて自分で型考えろとでも言うのか?
ジャップの甘ったれた屑SEにとって都合のいい話だよな
TypeScript良いじゃねーか
こちらは仕様書をコードに落とし込むのが仕事だ
設計は設計専門職がい�


35:ト高い金もらってんだろ? 型はそいつらが考えるんだよ。詳細をプログラマーに丸投げしてる時点で屑仕様なんだよ。 ヴァーカ!



36:デフォルトの名無しさん
18/08/05 11:04:59.08 56m811a+.net
こういう型が何なのかも知らんゲェジは型無し糞言語のウンポコペチプーで糞にまみれてろw

37:デフォルトの名無しさん
18/08/05 11:55:05.19 XJUWLe7Z.net
tsはcodeとセット感あるからideあってこその型付言語ですよ。
そういう意味で最高。
codeのExtension書けるしね

38:デフォルトの名無しさん
18/08/05 13:25:49.74 CiziHO2r.net
タイプスクリプトでVS Codeが最高。
たまに鉛筆と紙で手書きでコードかけると自称する奴いるけど、俺はそういう無理だし無駄だと思う。
コード補完機能が1番良い感じ。

39:デフォルトの名無しさん
18/08/05 15:04:53.13 /1jqsBrh.net
このスレの諸兄は普段どのような開発でTypeScriptを使っておられるのかな?

40:デフォルトの名無しさん
18/08/05 17:03:05.39 dEmbaIpR.net
>>38
学校で出された課題色々。
就職したらレベル低い奴多そうだから、俺は無双出来ると思うぜ。

41:デフォルトの名無しさん
18/08/05 19:56:12.53 9Ci45qXo.net
型の概念も分かってないバカがいっぱいいるようだし
俺の方が知識は上だ。
論破して相手が悔しがってるの想像すると楽しい。
こんなロートルな連中に負ける気はしない。

42:デフォルトの名無しさん
18/08/06 03:56:14.62 v2o4XMWR.net
もうすぐ全てのjava有料になるからjvm系は絶滅するんじゃないの?
ざまぁwwww
俺が社会人になったら土方どもに色々教えたるよ
惨めな土方どもwww

43:デフォルトの名無しさん
18/08/06 06:41:20.27 quUF03Tj.net
まってるよ

44:デフォルトの名無しさん
18/08/06 14:23:37.61 ODvV2Pda.net
こういう頭でっかちは社会に出てから潰されてニートになったりするからね。勉強会に参加して早めに鼻っ柱を折る経験をしといたほうが良い

45:デフォルトの名無しさん
18/08/09 12:54:45.59 GPWcQL0I.net
UWPアプリ開発でTypescript+Reactを使っているのは自分含めて数人だろうな。

46:デフォルトの名無しさん
18/08/09 20:30:43.93 WZIXbM0Y.net
アプリなら素直にC#で作れよ
jsプププ

47:デフォルトの名無しさん
18/08/11 06:17:13.28 EQiEGCLN.net
ブラウザのアドオンからネイティブアプリも含めてTypeScriptだけで大抵の事は出来る

48:デフォルトの名無しさん
18/08/11 07:43:59.64 reBAGRvU.net
>>44
詳しく。reactと相性良いよね

49:デフォルトの名無しさん
18/08/11 11:07:17.59 w1WGostD.net
TypeScriptできる→俺凄い
ネトウヨ的DQN思考法
素直にC#使えばぁ~

50:デフォルトの名無しさん
18/08/11 16:29:42.87 i5Ehw0eD.net
c#でwebのフロントエンド書けないよね

51:デフォルトの名無しさん
18/08/11 17:07:22.55 OwpN8/EL.net
>>47
>詳しく。reactと相性良いよね
詳しくも何も、Windows10はjs+htmlでデスクトップアプリが開発できるから、それでソフトを作っているだけ。
ただUIを全部作る必要がある。

52:デフォルトの名無しさん
18/08/11 17:58:24.09 HdyPScyr.net
>>49
最近Blazorとかいう強引な技術が出てきてるぞ

53:デフォルトの名無しさん
18/08/12 17:10:22.85 DMIMHrCZ.net
TypeScriptは折角ならC#と継承とかの書き方も統一して欲しかったなぁ

54:デフォルトの名無しさん
18/08/12 17:20:17.72 q2AjPHaY.net
Javascriptのフレームワークででかい顔w
Javaプログラマーからしたらお笑い種ですよ
ヴァカっぽくて笑える

55:デフォルトの名無しさん
18/08/25 06:30:24.41 xUwKoZHr.net
JavaScriptやらないでいきなりTypeScriptから勉強するのってアリ?
でもjQuery覚えようとしたらJSも勉強しなきゃならなんのよね

56:デフォルトの名無しさん
18/08/25 07:21:26.46 8VsPVu5p.net
つうか型システム以外はJavaScriptなんだから、TypeScriptを覚えることは普通にJavaScriptを覚えることにほぼ等しい

57:デフォルトの名無しさん
18/08/25 07:24:42.29 8VsPVu5p.net
特に最新のJavaScriptに変換すると、単純に型指定だけが無くなったものが出力されることが多くなったな

58:デフォルトの名無しさん
18/08/25 09:38:13.06 ROrdHzXZ.net
むしろtsから入った方がいいくらいだ
生のjsは危険

59:デフォルトの名無しさん
18/08/25 12:19:44.10 Buh9wu1g.net
俺もTypeScriptから学んだ口だ。
ライブラリの使い方とかvscodeが教えてくれるようになるからむしろjsを巣のまま学ぶより調子が良い

60:デフォルトの名無しさん
18/08/25 12:22:48.10 t7aLMQyu.net
ビルドするのめんどくさい
TypeScriptのままレスポンスを返して動くようにしてほしい

61:デフォルトの名無しさん
18/08/25 12:25:42.67 Buh9wu1g.net
つ ts-node

62:デフォルトの名無しさん
18/08/25 17:36:56.36 ImIAXjTG.net
Typescript からやるにも、良い書籍が無くない?
JavaScript の良い書籍で基礎学んでからTypescript やった方がわかりやすい気がする

63:デフォルトの名無しさん
18/08/25 17:40:26.05 jwlstBYZ.net
書籍とか流れが速すぎて向いてないわ
最初にやる言語以外で言語を学ぶ目的で書籍買うなんてC/C++くらいだろ

64:54
18/08/25 17:50:12.22 xUwKoZHr.net
そこまで変わらないのね 安心
tsから学んでみます
皆さん教えてくれてありがとう~

65:デフォルトの名無しさん
18/08/25 19:03:42.73 hQEFe9I2.net
TypeScriptに __LINE__ マクロみたいな行番号埋め込む機能ってないよね?
デバッグ用にあったら良かったんだけど。

66:デフォルトの名無しさん
18/08/25 23:06:49.80 /7rCFVoA.net
>>62
んなこたーない
Effective JavaScriptに書いてあるようなことが自然と全て理解できてるなら要らないけど、そんな奴が5chを見てるわけないし

67:デフォルトの名無しさん
18/08/26 11:46:26.97 m2nYH45u.net
Effectiveは確かに読む意味がある本だわ
でもそれJavaScript既に知ってる人間が読む本だろ

68:デフォルトの名無しさん
18/08/26 13:10:52.02 yJfbxE3G.net
effは時代遅れ
tsやってりゃ半分は知る必要も無い

69:デフォルトの名無しさん
18/08/26 13:48:02.46 gb73y82y.net
tsそんなにいいかなぁ?
jQueryからvue、angularまで色々やってるけど、利点がよく分からないよ。

70:デフォルトの名無しさん
18/08/26 14:52:56.21 yJfbxE3G.net
そらjQueryからvue、angularなんて脇道に逸れた時代遅れのゴミ使ってるセンスのない、
ぼんやりしたボンクラにとっては、利点も糞も気付けないわなw

71:デフォルトの名無しさん
18/08/26 15:09:29.33 zw53fmop.net
angularは1系とか触ってたん?
今はtsで書かれてるはずだからts必須みたいなもんでわ?

72:デフォルトの名無しさん
18/08/27 18:38:54.97 Q4eMB8Ps.net
オワコンω
ウェブ業界に激震、全てのAndroid端末でJavaScriptが標準無効化、jsなしに作り直さないとGoogle村八分
スレリンク(news板)

73:デフォルトの名無しさん
18/08/27 19:16:34.54 nPk8x20U.net
マジならXamarin大勝利ですやん

74:デフォルトの名無しさん
18/08/27 19:20:05.06 3J2b9jYp.net
>>71
> 2017年10月から
なんとゆう今さらωωω
そしてAndroidではKotlin標準化と併せてTSも標準化されたのをご存知ないのですンゴ?ωωω

75:デフォルトの名無しさん
18/08/28 10:52:54.37 ejsnz9b5.net
TSの標準化はGoogle社内の話で、Android関係なくね?

76:デフォルトの名無しさん
18/08/28 17:26:54.93 fGjEV9Ei.net
TypeScript and Babel 7
URLリンク(blogs.msdn.microsoft.com)

77:デフォルトの名無しさん
18/08/29 17:32:18.35 d2bEpQya.net
みんなBabelがTS対応になってうれしい?

78:デフォルトの名無しさん
18/08/29 21:38:11.08 WBp+gbgf.net
別に。何も変わらん。
諸事情でバベってるのにFlowも入れてないゴミどもは
最新のバベルなんて使わないし使えないだろうから相変わらずコヒースクリプト(爆)みたいな生カスジャバスクだし
既にTS使ってる奴らはTSだし
何も変わらん。

79:デフォルトの名無しさん
18/09/19 23:22:13.98 k2lJKoIo.net
age

80:デフォルトの名無しさん
18/09/20 22:57:46.62 Pf20cirP.net
今さらドヤ顔でゆるいルール厳しいチェックとか言ってるのくそむかつく
厳しいルールが今まで普通だったのは
アバウトなのを許したらめちゃくちゃなのを差し込んで意図的に環境破壊していく会社がいたからだ
てめーらだけ安全地帯だからって

81:デフォルトの名無しさん
18/09/29 08:06:57.10 o2k5LxC2.net
Announcing TypeScript 3.1
URLリンク(blogs.msdn.microsoft.com)

82:デフォルトの名無しさん
18/09/29 21:52:21.84 suMMT2j4.net
早く世の全てのJSプロジェクトがTSになりますように

83:デフォルトの名無しさん
18/09/30 02:33:19.53 yrJA2uB2.net
>>51
めちゃくちゃ重くてスマホではまず動かないレベルってんじゃなかったっけ?

84:54
18/10/04 22:31:58.31 B6XYHrci.net
importは他ファイルのクラスを持って来れるようにするのよね
@xxxxxのデコレータの役割がわからないのだけど誰か教えてくれんかね・・・
「付加情報をclassやmethod等に付与するための仕組み」ってなんぞ
Javaでいうアノテーションらしからそれも調べたけどわからない・・・^p^

85:デフォルトの名無しさん
18/10/04 22:43:24.09 hO6zdZTE.net
pythonのデコレタといっしょ

86:デフォルトの名無しさん
18/10/18 22:51:05.35 Rszm7VcT.net
TypeScriptでジェネリクスを使ったとき、C++でいうテンプレートの特殊化のようなことって
できないもんですかね?
function func<T>(x) でTがnumberとstringの場合とで別の処理ができたらいいんだけど。

87:デフォルトの名無しさん
18/10/19 02:55:24.30 iO0N1Qhu.net
型情報で実際に呼ぶ関数のオーバーロードの振り分けはできたりはしない
共用型 string | number を使えば string と number 以外の型は入らなくなる
実装部分は typeof arg === 'string' とかで分岐。返り値の型は推論される
推論が思ったようにいかなそうなら mapped type 使うなりオーバーロードの宣言を書いたりしても良い

88:デフォルトの名無しさん
18/10/19 07:51:09.81 1EDOmnkE.net
ありがとう。やっぱりダメか。
> typeof arg === 'string'
Tがstringだったら'string'と比較するってのをやりたかった。

89:デフォルトの名無しさん
18/10/20 14:25:59.55 QA1RjyY/.net
Typescriptのコンパイラのソースコードを見たが、
swicth文による条件分岐が乱用されていて美しいソースコードではなかった。
もっと良い設計があるはず。

90:デフォルトの名無しさん
18/10/20 15:52:27.22 /P2yZ5ci.net
構文木のような構造には多態はうまくマッチしないんだよ

91:デフォルトの名無しさん
18/10/20 18:08:40.09 odoUcQpl.net
構文解析とか条件分岐(状態遷移)の塊だろ
状態遷移とかswitch文そのものだ

92:デフォルトの名無しさん
18/10/21 15:12:34.19 N0iXX+FC.net
>>88
そう思うならお前が改善してプルリク送ってもいいのよ

93:デフォルトの名無しさん
18/10/21 15:27:26.85 GSIJUR7C.net
>>91
なぜ高貴なハイクラスエンジニアの俺様がただ働きせにゃならんのだ?
バカなのか?

94:デフォルトの名無しさん
18/10/23 18:43:56.54 +WvUI4qM.net
Typescriptのコンパイラのアルゴリズムは何ですか?
ソースコードを見たところ再帰下降解析らしいけど、それだと左再帰で問題が出るよね。

95:デフォルトの名無しさん
18/10/23 18:48:28.71 BSENAQfG.net
ハイクラスの俺様が就職したら低レベルの土方を蹴散らしす

96:デフォルトの名無しさん
18/10/23 19:39:38.93 f9dUVIKz.net
5chになってから急に自分の書き込みに誤植増えた
絶対何かある

97:デフォルトの名無しさん
18/10/23 19:42:09.06 EVpcwrUE.net
就職してないのかよw
ハイクラスなら就職なんてしなくても学生の内から引く手あまただろ
または起業しろよ

98:デフォルトの名無しさん
18/11/07 08:20:52.86 lnxFtwDW.net
今の職場でts+Vue.jsで作ってる案件があるんだけど、コードの肥大化と共に
型チェック付きのビルドに10分以上かかるようになっちゃって型チェックなしのヒルドに変更してしまってるんだけど
そういう事例って他のところにもある?

99:デフォルトの名無しさん
18/11/07 08:56:34.35 +94YsfsL.net
世界でも有数の大規模ソフトウェアであるVSCodeがTypeScriptでビルドされている以上、
利用者のスキルの問題でしかないな

100:デフォルトの名無しさん
18/11/07 15:40:12.32 d0XTpm7T.net
まぁ、今どきVueを選んじゃう技術力・審美眼のないとこじゃしょうがないんじゃないか?
糞うるさいポンコツウインドウズXPとか使ってそう

101:デフォルトの名無しさん
18/11/07 16:13:39.60 mdwOvRGk.net
React使いがよく言うよな。技術力&審美眼。
魔窟になってるのを技術力と言い換えて、そのアーキテクチャを美と言い換えるやつ。

102:デフォルトの名無しさん
18/11/07 19:54:03.59 ReL8stLA.net
うちのプロジェクトもビルド時間5分なんでどうにかしたいなぁ。
makedepend+makeが欲しい。

103:デフォルトの名無しさん
18/11/07 20:15:51.54 NQOj7Zqs.net
>>98
それ可笑しくね?vscodeビルドしたことあるの?

104:デフォルトの名無しさん
18/11/07 20:16:37.40 NQOj7Zqs.net
>>99
mbp2017つかってる。メモリは8gbだけど

105:デフォルトの名無しさん
18/11/07 22:25:07.54 LyspAo2Z.net
>>103
チャイニーズに尻尾振るガラパゴスVue民にはお似合いのゴミだなw

106:デフォルトの名無しさん
18/11/09 18:28:02.99 npJX8Ub3.net
module と namespaceの使い分けは
どうやればいいの?

107:デフォルトの名無しさん
18/11/09 18:56:45.93 gzUh27KV.net
使い分けるものではない
moduleはnamespaceに置き換えられた
常にnamespaceを使用せよ

108:デフォルトの名無しさん
18/11/09 19:06:31.99 npJX8Ub3.net
>>106
了解

109:デフォルトの名無しさん
18/11/10 09:38:47.43 h5ltDNBL.net
type と interface の使い分けは
どうやればいいの?

110:デフォルトの名無しさん
18/11/11 11:38:30.86 Cm/nwVcs.net
>>108
ほぼ一緒だから気にしなくていい。
Typescriptの仕様書にも「非常に似ている」と書いてある。
ただ、interfaceは
inteface Point {
x:number:
}
interface Point {
y:number:
}
というようにプロパティの追加ができるが、typeはできない。それぐらいしか違いがない。

111:デフォルトの名無しさん
18/11/11 13:05:47.70 /+pk64i1.net
TSLintのデフォがtypeよりinterfaceを推してくるからとりあえずinterfaceにする事が多い

112:デフォルトの名無しさん
18/11/11 14:07:03.02 R0IiHkaX.net
>>110
これメンスだがtypeしか使えない機能なかったっけ?

113:デフォルトの名無しさん
18/11/11 15:41:10.38 YkGULP39.net
交差型、共用体型を定義できるのはtypeだけだな。

114:デフォルトの名無しさん
18/11/11 20:39:14.47 3jMJhmwM.net
例えば file1.tsを編集していて、バックアップとしてそのファイルを複製して
file1 - コピー.ts
を作ったとすると、関数名が重複していますみたいなエラーがダダダーと
出るんですが、どのように対策すれば良いでしょうか?

115:デフォルトの名無しさん
18/11/11 20:52:52.31 B3f/927d.net
自分はいつもバックアップはfile1.ts.bakって付けてる。

116:デフォルトの名無しさん
18/11/11 20:59:48.79 MG/LuDvG.net
git使いなさい

117:デフォルトの名無しさん
18/11/11 21:18:11.36 3jMJhmwM.net
>>115
サーバーが必要なんでしょ?
そんなの持っていないし

118:デフォルトの名無しさん
18/11/11 21:29:24.04 MG/LuDvG.net
必要ないですよ

119:デフォルトの名無しさん
18/11/11 21:29:49.74 cIalEm6/.net
gitにサーバが必要とか正気か
いいからとりあえずチュートリアルやってみろ

120:デフォルトの名無しさん
18/11/11 21:42:32.66 3jMJhmwM.net
>>118
チュートリアルどこにあるのよ?

121:デフォルトの名無しさん
18/11/11 23:28:37.79 R0IiHkaX.net
>>119
man git
で英語を読む
でも、君にはそんな技術も学も根性もなさそうだから、
やっぱりfile1 - コピー.ts.bak181110ってするのがいいと思うんだ。
いや君をバカにしてるわけではなくて。
猿は猿らしい生活をした方が幸せだと思うからさ。ね。

122:デフォルトの名無しさん
18/11/11 23:59:28.42 cIalEm6/.net
>>119
これ以上は他所でやってくれ
お前さんの質問に対する回答は
* 編集バックアップをファイルコピーでとるというのがクソ
* 拡張子も変えてないならビルド対象になって当然
でおしまい

123:デフォルトの名無しさん
18/11/14 23:56:36.53 aDOvGxXC.net
流石に不親切すぎる。猿でもわかるgitとか読むと良い

124:デフォルトの名無しさん
18/11/17 15:07:14.11 BcZrVMNP.net
TypeScript使うな。汚らわしい。
バカはバカらしくPHPでも使ってろゴミ。

125:デフォルトの名無しさん
18/11/18 12:08:33.81 uaqKqGAI.net
猿でも判るように書いたら人間に判らなくなりました

126:デフォルトの名無しさん
18/11/18 13:48:19.18 pdwgi8hG.net
猿ですがわかりません

127:デフォルトの名無しさん
18/11/26 23:24:03.84 uFKIPm3P.net
elem.onclick = function () {
if (this.classList.contains('classA')) {
・・・
}
こんなコードを書くと、Visual StudioのTypeScriptで
エラー TS2339 (TS) プロパティ 'classList' は型 'GlobalEventHandlers' に存在しません。
と出るのですが、生成されるJavaScriptコード(上のコードを同じ)は問題無く実行出来る。
これは何故ですか?

128:デフォルトの名無しさん
18/11/26 23:28:58.28 //9j39Lt.net
あのさぁ…何のためにTypescript使ってんのよ…

129:デフォルトの名無しさん
18/11/26 23:46:28.79 uFKIPm3P.net
>>127
仕事で仕方なく

130:デフォルトの名無しさん
18/11/26 23:49:14.79 S88o/5+S.net
thisを使わないか、addEventListener使う

131:デフォルトの名無しさん
18/11/26 23:57:01.52 S88o/5+S.net
this: GlobalEventHandlers のところは this: thisじゃだめなのかな?

132:デフォルトの名無しさん
18/11/26 23:59:28.47 RFi6oWGn.net
アロー関数使うとかそういう話?

133:デフォルトの名無しさん
18/11/27 02:25:43.08 7n6dok9k.net
>>126
elemにちゃんと型(多分HTMLElement?)が指定されてればそんなエラー出ないぞ

134:デフォルトの名無しさん
18/11/27 09:47:55.32 riCGJi9o.net
>>132
出るよ

135:デフォルトの名無しさん
18/11/27 09:56:31.77 riCGJi9o.net
>>129
addEventListenerでも同じだろ

136:デフォルトの名無しさん
18/11/27 10:22:11.47 AQW0OfN+.net
addEventListenerは要素ごとにシコシコ定義されていて、thisがその要素になっているのでOK
onclickとかはGlobalEventHandlersでmixin的に定義されていて、this: GlobalEventHandlersになっちゃってるのでNG

137:デフォルトの名無しさん
18/11/27 10:37:58.94 riCGJi9o.net
>>135
なるほど。でも、そもそも
this.classList ではなくて
elem.classList と書けばいいんじゃないか

138:デフォルトの名無しさん
18/11/30 10:49:11.23 jlBTh7S1.net
Announcing TypeScript 3.2
URLリンク(blogs.msdn.microsoft.com)

139:デフォルトの名無しさん
18/11/30 11:28:27.90 atRGowE7.net
Eitherさん素敵

140:デフォルトの名無しさん
18/12/01 10:07:51.30 7lSKHFDm.net
ようやくEitherでホイサーできるTSがきたか
しかしleftrightとパタマチがないとダメやろこれ

141:デフォルトの名無しさん
18/12/01 10:12:04.48 7lSKHFDm.net
よんだら、これEitherじゃなくホイサーだろ・・・
エラー処理強制できないEitherってナンジャー?
ゴミジャー

142:デフォルトの名無しさん
18/12/01 18:12:50.09 qYhERqMT.net
宇宙に満ちている光を伝える媒質、だっけ。

143:デフォルトの名無しさん
18/12/01 21:02:52.90 214oHlAj.net
それはether

144:デフォルトの名無しさん
18/12/01 21:38:50.33 qYhERqMT.net
旧盆に行われる沖縄の盆踊り、かな。

145:デフォルトの名無しさん
18/12/04 20:53:43.14 iqna8FaP.net
通常、string と string | null は同等なんでVSCodeのポップアップでも | null は省略されるけど、
これを省略させないで表示する設定ってないのかな。
strictNullChecks 使ったら区別できなくて困った。

146:デフォルトの名無しさん
18/12/04 21:39:51.76 O7AxfIIB.net
通常、string と string | null は同等じゃないです

147:デフォルトの名無しさん
18/12/04 21:46:28.77 WLbw6NyA.net
""はnullじゃないぞ

148:デフォルトの名無しさん
18/12/05 08:02:21.96 rsg3VEcH.net
他に困ってる人がいないってことは strictNullChecks 自体あまり使われてないのかな。

149:デフォルトの名無しさん
18/12/05 09:20:27.07 B/THyK2J.net
strictNullChecksは使ってるけどその困り方がよく分からないから具体的にどういうコードを書こうとした時に何が困るのか教えてくれるとありがたい

150:デフォルトの名無しさん
18/12/05 14:47:23.52 2sSegHBZ.net
馬鹿には無理

151:デフォルトの名無しさん
18/12/05 19:58:08.96 rsg3VEcH.net
function f(): string | null {
if(Math.random() === 0) {
return null;
}
return 'abc';
}
function g(): string {
return 'abc';
}
const x = f();
const y = g();
VSCode で x や f() にマウスポインタを当ててポップアップで型を表示しても
string | null じゃなくて string としか表示されないんでこれを区別できるようにしたい。

152:デフォルトの名無しさん
18/12/05 20:42:07.12 2r3P2eMd.net
tsc --init しなさい

153:デフォルトの名無しさん
18/12/05 20:43:39.84 kxOqR7S7.net
* プロジェクトルートにtsconfig.jsonはあるか
* tsconfig.jsonでstrictNullChecks或いはstrictが有効になっているか
* そもそもVSCodeでプロジェクトルートを開いているか

154:デフォルトの名無しさん
18/12/05 20:51:32.34 rsg3VEcH.net
なるほど、VSCode用のtsconfig.jsonを置いてやればいいってことか。ありがとう。
ビルド用のtsconfig.jsonは別の場所に置いてた。

155:デフォルトの名無しさん
18/12/05 20:57:46.26 kxOqR7S7.net
そりゃプロジェクトルートに無けりゃどういう原理で探してくるんだって話だ

156:デフォルトの名無しさん
18/12/05 21:04:20.27 rsg3VEcH.net
じゃなくて、VSCodeがtsconfig.jsonのビルドオプションに合わせて表示を変えているとは想像してなかった。

157:デフォルトの名無しさん
18/12/05 21:10:24.13 kxOqR7S7.net
そもそもtscもtslintもプロジェクトルートのtsconfig.jsonなりtslint.jsonなり読むんだから・・・・・

158:デフォルトの名無しさん
18/12/05 21:30:49.29 rsg3VEcH.net
各.tsに対してどのtslint.jsonが使われるかという認識はあったけど、
tslintもtsconfigを見てるのか。なるほど。

159:デフォルトの名無しさん
18/12/05 21:32:49.41 kxOqR7S7.net
誤解を招く書き方だったから訂正しておくけどtslintはtsconfig.json読まんよ

160:デフォルトの名無しさん
18/12/21 21:25:18.74 X6PhK/jL.net
今日は emitDeclarationOnly でd.tsだけ出力できることを発見した

161:デフォルトの名無しさん
18/12/22 01:07:22.52 RH928dFE.net
jap is crazy monkeys

162:デフォルトの名無しさん
18/12/24 11:44:39.27 zyOojth7.net
拡張子だけ許せない

163:デフォルトの名無しさん
18/12/24 11:56:09.60 JT2deTbq.net
TransSexual

164:デフォルトの名無しさん
18/12/25 02:39:04.38 atOE2BOw.net
動画と被ってる

165:デフォルトの名無しさん
18/12/31 06:26:09.53 65rO9GPR.net
rollup覚えた

166:デフォルトの名無しさん
19/01/10 03:06:03.03 Zf9Oh0RM.net
export as namespace が何をどうしてるのかさっぱりわからん

167:デフォルトの名無しさん
19/02/01 09:17:10.17 Cg5cm39S.net
Announcing TypeScript 3.3
URLリンク(blogs.msdn.microsoft.com)

168:デフォルトの名無しさん
19/02/14 09:58:56.90 fCWwgaGu.net
JavaScriptを勉強したことがないので、今からならどうせならとTypeScriptの方を身につけたいんだけど・・・・
これって先ずJavaScriptが出来ないことには実用にならないの?

169:デフォルトの名無しさん
19/02/14 10:01:00.45 zQRRDS2s.net
そうでもないんじゃない

170:デフォルトの名無しさん
19/02/14 11:21:03.44 sZU59yH4.net
typescript は javascript の上位互換なのだから、ts やってるうちに js のことも勉強しなければならなくなる (特に、es5, es2015 とかのキーワードで)
言い換えれば、ts を勉強してれば js が出来るようになる

171:デフォルトの名無しさん
19/02/14 11:22:03.05 MlsuSDTj.net
>>167
javascript9割以上+TypeScript追加仕様なんだからjsやらないなら使う意味ねえだろ

172:デフォルトの名無しさん
19/02/15 00:32:30.89 UOWlr3Ch.net
正確にはTypeScript使ってるとJavaScriptの深い部分が気になってきて、最終的には自然とJavaScriptを勉強し始めてるよ
気にせずTypeScriptから始めれば良い

173:デフォルトの名無しさん
19/02/15 19:47:15.67 iHivKYcL.net
tsだけで理解できることをjsを経由する意味はないしむしろ型を考慮しないダーティーな解法を覚えさせられるだけ有害

174:デフォルトの名無しさん
19/02/15 22:59:18.80 XxBbyQo/.net
tsの、ライブラリの95パー以上がjsなんだから
どうにもならん。
pythonの型アノテーションを
完全に付ける書き方に別言語名つけてるようなもんだ。

175:デフォルトの名無しさん
19/02/16 16:31:11.68 HHyiFibH.net
>>172
動的型は型を考慮しないと思ってんのはお前だけだ
JavaScriptの全ての変数に型は存在しているし目の前の変数の型を知らずにコーディングしてる奴なんていない
JavaScriptは実行時に型チェックして型の正しさを保証して、
TypeScriptは実行前に型チェックして型の正しさを保証するって違いだけだ

176:デフォルトの名無しさん
19/02/16 16:54:05.42 sYjKK7tj.net
作ってる時に頭の中にある型なんか、作った後には何の意味もないし、実行時に型チェックするなんて馬鹿の極み

177:デフォルトの名無しさん
19/02/16 16:59:02.66 bRo2S9Sl.net
つ外部入力データ

178:デフォルトの名無しさん
19/02/16 18:28:18.38 HHyiFibH.net
>>175
頭の中w
JavaScriptには全ての変数に型があるんだ�


179:� アンダースタン?



180:デフォルトの名無しさん
19/02/16 18:29:05.39 STqQL4YT.net
jsのboolの型チェックはバグあるけどな

181:デフォルトの名無しさん
19/02/16 18:59:44.19 qw78JFeM.net
>>177
保守する人には作ってる人の意図はわからないって意味だよ

182:デフォルトの名無しさん
19/02/16 19:03:19.63 qw78JFeM.net
動的のつらみはrubyとかjavascriptで散々通ってきてtypescriptに行き着くわけだけど、
まだそこを通過中の人とは話が噛み合わないんだよなあ
結局こっちに来ることになるのに

183:デフォルトの名無しさん
19/02/16 19:28:50.73 HHyiFibH.net
TypeScriptにUnion型がある時点で最早動的型と言ってもいい
宣言したあとに離れた場所のコードを見ても、パッと見じゃどっちの型になってるかは分からないからね

184:デフォルトの名無しさん
19/02/16 19:36:05.44 JPFBQxX7.net
any型もあるぞ

185:デフォルトの名無しさん
19/02/16 19:38:44.73 qw78JFeM.net
>>181
typescirptってそういうところもチェックしてくれるんだぞ

186:デフォルトの名無しさん
19/02/16 21:04:52.10 czmkS5Li.net
データ型と混同してない?

187:デフォルトの名無しさん
19/02/16 21:15:59.20 dfsqwbBr.net
動的型の言語、結局人気が年々下落しはじめてる。
c#やtypescriptぐらいの、型あり基本で、
いざとなったら、部分的問わないのも、
自然で簡単に書ける、程度が今はよいな。

188:
19/02/16 21:32:01.93 rUZ2ZZ3T.net
>>185
型を意識しない、というのは私には有用にみえます、ただし変数宣言は動的型言語にも必要だと思いますが、それを表立って採用している言語はありますかね…

189:デフォルトの名無しさん
19/02/16 21:54:57.88 aDxQaKE+.net
言語の人気が年々移り変わる、
ということは、
いつかtypescriptも、ほかの型付き、部分的型付き言語の人気も、移り変わる、
とは、考えないのか?

190:デフォルトの名無しさん
19/02/16 23:06:35.69 xN2b9tEZ.net
動的ウンコガイジどもに型の有用性説いても、豚に真珠だろ
ペチプァやらルビ豚やら、あいつら中卒のガチゲェジだからな

191:デフォルトの名無しさん
19/02/17 16:04:02.49 D60SxZ1Q.net
>>188
> 型の有用性
だから動的型言語にも型はあるし型の有用性を享受してんだけど…何度言っても分からない奴は分からないんだな

192:デフォルトの名無しさん
19/02/17 16:11:02.99 YF9uE98b.net
そんな誰でもわかってることで得意げになってるのが恥ずかしい
一合目で山に登ったつもりになってる感じ
みんなもっと上にいるから!

193:デフォルトの名無しさん
19/02/18 11:46:04.18 +IiOz1o3.net
動的型と静的型では型の目的が違うことを理解していないらしいな

194:デフォルトの名無しさん
19/02/18 23:46:52.94 tCwq3WHG.net
昔は動的型付け言語と静的型付け言語って対義語みたいに思ってたけど、
TypeScriptやってみたら単純な二元論じゃないって気付かされた。

195:デフォルトの名無しさん
19/02/19 21:50:14.71 UOAs3sqY.net
そう対義語じゃない、分かりやすい表現だなぁ
本当に型が無いのはアセンブリ言語で、全てが整数になっててそれをどう解釈するかは本当に人間次第だからな

196:デフォルトの名無しさん
19/02/20 19:06:49.04 v7iPz90J.net
Cのunionもそういう意味では何でもあり

197:デフォルトの名無しさん
19/02/20 19:08:18.41 hK+DOQws.net
そういうのを昔の人は「型あって型なし」と言ったのだ

198:デフォルトの名無しさん
19/02/21 14:36:31.18 BCvd3Fow.net
同じファイルの書き込み処理なんかをRubyが5行で書けて、Javaが15行とかで書いて、いかにJavaが駄目かってブログ記事がはてなブックマークとかでよくバズってたな
声のでかい人はいつでもいる

199:デフォルトの名無しさん
19/02/22 14:01:01.67 w8nQWD0s.net
るbyなら一行で描かないと負け

200:デフォルトの名無しさん
19/02/23 02:18:28.49 +i56xIDn.net
Javascriptのthisというか変数スコープが厄介でHaxeやってるけど
Typescriptはその辺の問題点引き継いでる?

201:デフォルトの名無しさん
19/02/23 03:19:51.50 R2s6jSV3.net
「thisというか変数スコープ」?
分かってないことは分かった。
お前はどの言語やっても大成しない。

202:デフォルトの名無しさん
19/02/23 08:32:08.65 DQY5g4De.net
JavaScript(JS)/TypeScript(TS) のthis は、おかしい!
一方、jQuery, Haxe は、それを修正してる
また、JS/TS の== は危険だから、使っちゃいけない!
厳密等価演算子=== を使うべき!
一方、Haxe, Ruby は、== でOK
Haxe には、マクロ、引数つき列挙(enum)、代数的データ型、パターンマッチ、マルチプラットフォームがあるけど、TS には無い。
特に、switch 文での、enum が強力!
引数の型で分岐できるから、インタフェースと同等!
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Haxeプログラミング入門、尾野政樹、2015
Haxe は、Elixir に似てね?
プログラミングElixir、2016

203:デフォルトの名無しさん
19/02/23 10:27:04.01 apHI25Q1.net
thisや==は今ならeslint/tslint任せでほとんど問題ないね。
引数付きenumはようはUnion Typeだし、代数的データ型はTagged Union Typeかな。
パターンマッチそのものはないけどType Guardで似たようなことができる。
マクロとマルチプラットフォームはさすがにないな。

204:デフォルトの名無しさん
19/02/23 11:20:14.57 R2s6jSV3.net
haxe?ああtsに負けて滅んだ言語かw

205:デフォルトの名無しさん
19/02/23 11:24:28.53 ks3X52WF.net
弊社、ガイジが導入したhaxeが完全な負の遺産化しててうんざりするわ
死ねとまでは思わないけど、産まれてこなければよかったのに

206:デフォルトの名無しさん
19/02/23 11:27:21.05 rwRcja1T.net
thisはそもそも使う必要がない
jQueryとか昔のライブラリを使うとthisを使わざるを得なくなって混乱する
変数スコープの問題は多分変数の巻き上げの事だと思うけど、TypeScriptは変数を宣言する前にアクセスはエラーだから変数スコープの問題は無い

207:デフォルトの名無しさん
19/02/23 12:07:09.04 Y+/6FGBc.net
言語でマルチプラットフォームってどゆこと?

208:デフォルトの名無しさん
19/02/24 19:32:04.72 iK4D+UQi.net
一般にバイナリ互換のこと。
スクリプト言語はソースコード=バイナリ扱いだが。
Qtとかのライブラリはソース互換やね。
そのライブラリと標準ライブラリ使う分にはマルチプラットフォーム。

209:デフォルトの名無しさん
19/03/27 22:29:10.88 ZMj2RB3N.net
TypeScriptのリテラル型を知って目から鱗だったんだけど、元ネタってどこなのかな?
TypeScript以前に採用していた言語とかある?

210:デフォルトの名無しさん
19/03/28 08:22:20.68 XxNMz1Hs.net
URLリンク(www.infoq.com)
Flowは,少なくともこの分析を実施した1年前には,Facebookによって極めて閉鎖的な方法で進められていた言語です。
開発はまったく透過的ではなく,ロードマップも公開されていませんでした。
プロジェクトへのコントリビューションは,Facebook以外からはほとんどありませんでした。
対照的にTypeScriptは,数年前にGitHubに移動して以降はオープンソース開発を採用しています。
最新のロードマップを公開し,外部からのコントリビューションを受け入れ,全般的にコミュニティとの密接な関係を維持しています。
Flowオープンソースはほぼ放置されているので,現時点ではTypeScriptに切り替えた方がよいと思います。
このような懸念に対してFlowチームは,現在の進捗状況と2019年計画の見直しによる対処を始めている。
この概要の中で,FacebookのソフトウェアエンジニアであるAvik Chaudhuri氏は,FlowからTypeScriptへの移行について取り上げている。
 最近,Facebookを起源とするオープンソースプロジェクトの多くが,TypeScriptでのリライト計画を発表しています。
 Facebookでは個々のチームの独立性を強く尊重しており,各チームがロードマップを作成し,
 開発中のプロダクトに対して最大限の努力を払っています。TypeScriptへの切り替えを決定したプロジェクトは,
 この切り替えによって外部コントリビュータによる支援をより多く受けられるようになります。私たちはこの決定を尊重します。

211:デフォルトの名無しさん
19/03/31 08:32:04.33 9gmhFJUR.net
Announcing TypeScript 3.4
URLリンク(devblogs.microsoft.com)

212:デフォルトの名無しさん
19/04/27 22:21:18.33 DaKsj35I.net
export default Vue;
export as namespace Vue;
型定義が↑だとjsのスクリプトモード(import なし)で↓のようにvscode認識してしまって悲しい
new Vue();      // NG
new Vue.default(); // OK
export default Vue じゃなくて export = Vue なら大丈夫っぽいんだが

213:デフォルトの名無しさん
19/04/27 23:00:39.62 f59bAkpS.net
Vueなんてゴミ使ってるのが悪い

214:デフォルトの名無しさん
19/05/07 14:32:47.27 L9HTQYS7.net
質問なんですが、
interface TypeMap<T> {
 a: number
 b: string
 c: T
}
declare function test<T, K extends keyof TypeMap<T>>(arg: K): TypeMap<T>[K]
test("b")
test<number, "c">("c")

これをtest<number>("c")って書けるfunction testの定義の仕方ってあります?

215:デフォルトの名無しさん
19/05/10 03:36:53.56 lySswCnH.net
ついにunion distributionを理解してしまった

216:デフォルトの名無しさん
19/05/20 18:15:00.44 VITeHWYT.net
TS3のunknown型いいな。
てかany入れずに最初からこれにしとけや。

217:デフォルトの名無しさん
19/05/20 23:15:37.00 F98TWhut.net
esの上位互換である以上anyは無きゃいかんだろう。

218:デフォルトの名無しさん
19/05/22 08:13:28.81 hKcnqksZ.net
unknownからの簡単にキャストできるような値ばかりなら、確かにanyはいらんかったろうな

219:デフォルトの名無しさん
19/05/30 08:25:00.89 nLvOZq4e.net
Announcing TypeScript 3.5
URLリンク(devblogs.microsoft.com)

220:デフォルトの名無しさん
19/05/31 23:01:09.01 a9j+ivtb.net
TSも知らんフロントエンドエンジニアとか死んでほしいわ

221:デフォルトの名無しさん
19/06/01 00:45:31.22 MTpxg6Tq.net
知ってるだけでデカい顔してるフロントエンドエンジニアも死んで欲しいわ

222:デフォルトの名無しさん
19/06/01 16:36:48.07 g95cx8x2.net
ts知ってるだけででかい面できるってどんな現場だよ

223:デフォルトの名無しさん
19/06/01 19:04:47.55 +itGqD4a.net
それくらい世界はまだJSの悲しみに満ちているってことさ
救ってあげようよ、僕らで

224:デフォルトの名無しさん
19/06/01 19:52:58.38 4hNhVGGP.net
お前だれだよ

225:デフォルトの名無しさん
19/06/01 20:56:08.22 TTPVYQ4N.net
strictNullChecksをtureにしてる人いる??
ロジックではnull禁止できるけどさ、
dbからgetしたデータに混じるんだよね。
未入力状態のデータって奴。
null撲滅マスターの方は、どう解決してるの??

226:デフォルトの名無しさん
19/06/01 20:58:48.44 +itGqD4a.net
それはDBの設計が腐ってるし、unknown | null型なんだろ
ロジックが間違ってる

227:デフォルトの名無しさん
19/06/02 11:14:24.16 567ijWyR.net
そもそも、実行時にnullやundefinedが混じるという話とstrictNullChecksに直接の関係はないだろ。
その中間のどこかで困っているんだろうけど、それがわからないとなんとも。

228:デフォルトの名無しさん
19/06/02 11:38:18.31 nWi1j94r.net
nullableなfieldをgetしたらそりゃnullableでしょ

229:デフォルトの名無しさん
19/06/05 02:53:11.94 QtDGLGvu.net
Visual Studio Code でAngularの勉強をしているのですが、
TypeScriptのthisがどこのコードを参照しているのかイマイチ理解できていません。
このthisをマウスオーバーしたら参照先のコードを表示してくれる拡張機能はありませんか・・・?
現状ですとthisにマウスオーバーをすると this:this と表示されます

230:デフォルトの名無しさん
19/06/05 08:05:19.27 a1ZirxB/.net
Angular自体糞だからやめとけ

231:デフォルトの名無しさん
19/06/05 08:30:28.74 gaDZjJ4I.net
vueをやるんだ

232:デフォルトの名無しさん
19/06/07 22:14:26.23 GySnd9K9.net
みんな、質問。
TSって公式のスタイルガイド無いけど、
みんな何使ってる?
正直googleのは末尾カンマが受け付けない。。

233:デフォルトの名無しさん
19/06/07 22:21:16.75 POgNcTtv.net
prettierで終わり
受け付けないもクソもない
おまえのスタイルは全てクソで、prettierを信じろ

234:デフォルトの名無しさん
19/06/10 00:34:38.75 pNMWMTmc.net
>>231
設定は??
信じていいprettierはデフォ設定でOKなの?

235:デフォルトの名無しさん
19/06/10 07:11:15.54 s0ANUlh8.net
>>232
デフォと言いたいが
arrowParens: "always",
semi: false,
trailingComma: "es5",
のみ付けるのが多い(気がする)

236:デフォルトの名無しさん
19/06/10 07:12:37.13 s0ANUlh8.net
semi: false,
だけは本当に極稀に問題になるから、設定しなくてもいい
目障りだから俺は設定するけどね

237:デフォルトの名無しさん
19/06/13 17:34:43.34 3ecrlnnk.net
>>233, 234
ありがとう!試してみる!

238:デフォルトの名無しさん
19/06/15 19:57:13.61 60xjKXFz.net
const x = { a: 'b' };
この x の型は { a: string } になってしまうみたいだけど、 { a: 'b' } 型にする方法ってないんでしたっけ?
TypeScript 3.5です。

239:デフォルトの名無しさん
19/06/15 20:04:24.55 v9vM6Xqi.net
const x: { a:'b' } = { a: 'b' };

240:デフォルトの名無しさん
19/06/15 20:10:32.39 60xjKXFz.net
const x = { a: 'b' as 'b' }; もいけるみたいだけど冗長だなぁ。

241:デフォルトの名無しさん
19/06/15 20:14:03.78 LRsRofRH.net
as const

242:デフォルトの名無しさん
19/06/15 20:32:57.50 60xjKXFz.net
>>239
ありがとう!これだ。

243:デフォルトの名無しさん
19/06/15 22:08:42.82 B5XNjjWA.net
デフォルトで全部 as const にするオプションとかあればいいのに

244:デフォルトの名無しさん
19/06/21 19:39:39.40 NhtzQec8.net
今日の疲れやばい

245:デフォルトの名無しさん
19/06/21 19:42:13.96 NhtzQec8.net
anyを許すルールにするっつったら
「でもapiからくる値なら全て型定義できますよね?」
って言われたことにものすごい疲れた
完璧なappなんかねーんだよ!!!ってキレそうだったわ

246:デフォルトの名無しさん
19/06/21 19:42:54.97 NhtzQec8.net
一生インターフェース書いてろ!

247:デフォルトの名無しさん
19/06/22 13:59:29.40 cvRfxwEO.net
そこでunkownですよ

248:デフォルトの名無しさん
19/06/22 14:09:53.49 lgEn1aKj.net
unknown確か途中で足されたよな。最初から入れとけおもた。

249:デフォルトの名無しさん
19/06/22 15:50:14.82 cvRfxwEO.net
みんあなはallow any 派?

250:デフォルトの名無しさん
19/06/22 18:02:27.27 WCwRyrQC.net
>>247
許容派です。
再帰処理とかをまともに型付してたら、辛すぎる。。
ちなみに
const arr = []
で、never[]型になるのがしんどい。
設定でany[]型にならないでしょうか・・?

251:デフォルトの名無しさん
19/06/22 20:42:33.24 vT6NYB6v.net
明示的に型を書けばいいじゃん

252:デフォルトの名無しさん
19/06/22 22:04:34.45 1mmW7z7g.net
てかリテラルの [] が never[] になんかなる?

253:デフォルトの名無しさん
19/06/23 13:58:34.11 iaXcaTkq.net
eslint が v6.0.0 になったら @typescript-eslint/parser が読み込めなくなった
とりあえず issue をみて ./node_modules/@typescript-eslint/parser/dist/parser.js で
require("eslint/lib/util/traverser")

require("eslint/lib/shared/traverser")
でやり過ごしてる

254:デフォルトの名無しさん
19/06/24 11:41:32.01 218UFAwP.net
この研究によるとTypeScriptは最もバグ発生率が低い言語なんだけどその理由とか体感とかありますか?
URLリンク(web.cs.ucdavis.edu)
>TypeScript -1.32 (0.40)∗∗ -2.15 (0.98)∗ -1.34 (0.41)∗∗ -0.34 (0.07)∗∗∗

255:デフォルトの名無しさん
19/06/24 11:46:37.72 eHWTfFeZ.net
コンパイラにバグが無い
コンパイル中にコードのバグは発見出来る
アルゴリズムのバグは知らんがな

256:デフォルトの名無しさん
19/06/24 21:38:49.72 RR0ut14u.net
TypeScriptで書いたプロダクトにバグが少ないのか、TypeScriptコンパイラにバグが少ないのか、どっちよ?

257:デフォルトの名無しさん
19/06/24 21:39:48.85 RR0ut14u.net
あと今土器pdfなんかで出すなよボケカス
日本語翻訳使えないだろが

258:デフォルトの名無しさん
19/06/24 21:52:09.72 RR0ut14u.net
TS >>> JS
という話なら圧倒的同意しかないのだが
URLリンク(www.reddit.com)
他の言語と比べてどうこうはわからん
あと動的型無し糞言語がゴミというのも同意

259:デフォルトの名無しさん
19/06/25 18:21:53.19 Cc6pu6kp.net
>>254
TSで書かれたソフトウェアにバグが少ない
そのPDFによれば調査対象のメジャーな10種くらいの言語の中で最も少ない

260:デフォルトの名無しさん
19/06/25 20:19:43.86 VFPzRDke.net
C#と大して変わらんのにバグが少なくなるって根拠がよく分からん
JavaScript上がりのプログラマが使うことが多いから良く訓練されているってのが考えられる根拠だなw

261:デフォルトの名無しさん
19/06/25 23:32:40.42 AQeJL9YJ.net
ユーザのリテラシが高いが後押ししてるのはありえそうだな
phpあたりは言語もユーザもガイジだからかわいそう

262:デフォルトの名無しさん
19/06/26 00:17:43.45 +9DnWsFD.net
JavaScriptは初心者が触るには最悪の言語と言っても過言ではないないから、ありとあらゆるバグを出して大変な目に遭ったプログラマがTypeScriptを使うことになると、バグも少なくなるだろうなという意味だよ

263:デフォルトの名無しさん
19/06/26 00:40:51.84 q5HP9tQR.net
つか論文?の表の見方がわからんのだが

264:デフォルトの名無しさん
19/06/26 00:41:37.75 q5HP9tQR.net
よくよく読んだら、ほんとは一番バグが多かったとかいうオチ??

265:デフォルトの名無しさん
19/06/26 00:45:17.97 f1MF/JvG.net
スレッドがないとかポインタがないとかでできないことがある分バグも減るでしょ

266:デフォルトの名無しさん
19/06/26 00:49:58.46 q5HP9tQR.net
>>263
できないことだらけにしたGoさんはどうなりましたか・・・?

267:デフォルトの名無しさん
19/06/26 09:13:51.70 qk5ECIA8.net
このスレの住人なら当然ターミナルはコレだよな!
Terminus - TypeScript製のターミナル
URLリンク(www.moongift.jp)

268:デフォルトの名無しさん
19/06/26 12:25:57.23 7Ob4FOl6.net
>>264
Web画面なんて壊れてても気にしないからコミット取り消さないし
そもそも画面実装とか�


269:Tーバに比べて問題の範囲が限定的でたいして難しくないだろ 最初から扱ってる問題が言語ごとにちがうんだ この表ってか論文で一緒にしてるのおかしい あ、型なし言語はあかんと思います



270:デフォルトの名無しさん
19/06/26 16:21:39.07 b+WM9Si2.net
確かにCとかC++は基礎的なソフトに使われるから
僅かなバグも絶対に許されないとこありそう
それ以外にポインタ使ってるからってのもあるだろうけど

271:デフォルトの名無しさん
19/06/29 10:08:56.36 /kbU3u2K.net
>>266
動画の新しいエンコーダ作るとか、プログラムじゃなくて数学のレベルを求められる仕事は置いといて、
webならフロントの方がよっぽど複雑じゃない?
バックなんて同期処理でお決まりのレールに乗ってダラダラ書いてくだけだし。
複雑でパフォーマンスが要求されるpwaとか、typescript無かったら絶対に完成する気しないわ。
カオス過ぎる

272:デフォルトの名無しさん
19/06/29 10:25:06.32 Kp+ip4R/.net
js/tsだけどダイアログとか出すときに
モードレスにした方がユーザーには使い易いのに
バグが増えそうだからモードレス禁止ってことで
全部モーダルで造らされたことがある

273:デフォルトの名無しさん
19/06/29 19:29:55.34 pedxXkW2.net
型の判定の正しい手順ってどうだっけ?5行目で引っかかってしまう。
function isMyType(o: unknown): o is MyType {
if (typeof o !== 'object') { return false; }
if (!o) { return false; }
if (!('key' in o)) { return false; }
if (!o.key) { return false; } // ts7053
return true;
}

274:デフォルトの名無しさん
19/06/29 23:44:35.08 rJpz/Ysh.net
ひえっ…
typescript使う意味あるのこれ

275:デフォルトの名無しさん
19/06/30 01:10:38.25 7Llu84Qc.net
そりゃTypeScriptだって魔法じゃないんだから。
すごいのは外部から渡された得体の知れない値をこうやって動的に型判定して
それを静的な型の世界に持ち込めるところ。

276:デフォルトの名無しさん
19/06/30 01:36:24.68 y+UHg1Q8.net
ts知らないけど処理系がロード済みの型一覧を取得できないの

277:デフォルトの名無しさん
19/06/30 02:09:58.63 uFOYv7Ak.net
unknownじゃなくてanyでいいでしょ

278:デフォルトの名無しさん
19/07/01 22:30:11.88 VQESBdFl.net
>>270
この返り値、なんていう記法?
というか、なぜこんな書き方が必要なの?

279:デフォルトの名無しさん
19/07/01 23:18:57.13 yt2EFQVJ.net
user defined type guard function でググれ。

280:デフォルトの名無しさん
19/07/02 04:58:55.57 uMGeffjZ.net
>>269
jQuery, jQuery UI のダイアログを使えば?
モーダルが多いような気がする

281:デフォルトの名無しさん
19/07/03 22:40:20.89 HeNg6Q/2.net
>>276
それだけで理解した
なるサンクス

282:デフォルトの名無しさん
19/07/07 08:52:11.33 eO4QC7Eh.net
/* eslint-disable @typescript-eslint/explicit-function-return-type */
const mapDispatchToProps = (dispatch: TodoAsyncDispatch) => {
return {
fetchTodo: (id: TodoId) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
/* eslint-enable */
type ReduxDispatchProps = ReturnType<typeof mapDispatchToProps>
---
これをeslint-disableなしで実装する方法ってないですか?
例えば、↓こんな感じで「any」の部分が「型推論させる型」みたいにできる、とか。
redux-thunkの型付けが難しいお・・・
---
type MDTP = (dispatch: TodoAsyncDispatch) => any
const mapDispatchToProps2: MDTP = (dispatch) => {
return {
fetchTodo: (id: TodoId) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}



283:type ReduxDispatchProps2 = ReturnType<typeof mapDispatchToProps2>



284:デフォルトの名無しさん
19/07/07 09:34:19.15 z09Q0v8J.net
その暗黙の推論を禁止するルールなんだから普通に考えたら無いよね。
型付けが難しい場合があるのはわかるけど、eslint-disableじゃだめな理由は?
全体として入れているチェックの例外を設けるなら後からその箇所がわかるように
しておかなきゃ困ると思うが。

285:デフォルトの名無しさん
19/07/07 10:04:05.70 dCt2bUfG.net
ジャネリック

286:デフォルトの名無しさん
19/07/07 10:24:01.49 eO4QC7Eh.net
>>280
型付け自体はそう難しくはないんだが、この2重定義感がだるくて。
mapDispatchToPropsに型ちゃんと書いてそこに集約したいというか。
---
type ReduxDispatchProps = {
fetchTodo: (id: TodoId) => Promise<void>
}
const mapDispatchToProps = (
dispatch: TodoAsyncDispatch
): ReduxDispatchProps => {
return {
fetchTodo: (id) =>
dispatch(todoAsyncRequestActions.fetchTodoRequest({ id })),
}
}
---
> eslint-disableじゃだめな理由
mapDispatchToProps は書く頻度が高いから、あまり eslint-disable を撒き散らしたくない
とはいえ普通の function で explicit-function-return-type を false にしたくない
というお気持ち
やっぱ無理ッスかね

287:デフォルトの名無しさん
19/07/07 10:37:01.72 eO4QC7Eh.net
>>281
どう書けばできそうですか?

288:デフォルトの名無しさん
19/07/07 11:45:51.89 zsCaUS/w.net
{ allowExpressions: true }

289:デフォルトの名無しさん
19/07/07 13:32:44.90 eO4QC7Eh.net
>>284
既にこれで設定してます
---
"@typescript-eslint/explicit-function-return-type": [
"error",
{
allowExpressions: true,
allowTypedFunctionExpressions: true,
},
],
---

290:デフォルトの名無しさん
19/07/10 01:53:27.81 QsYN3Rs6.net
Nest.js使ってサーバサイドもts使ってる人いる?

291:デフォルトの名無しさん
19/07/17 21:56:07.81 c89mzXrS.net
むしろ整合性が求められるサーバーサイドでこそ活躍する

292:デフォルトの名無しさん
19/07/17 23:22:52.24 ySrAQEz0.net
TSerならdenoでない?

293:デフォルトの名無しさん
19/07/17 23:47:06.39 5ruk5Mj4.net
まだ早い

294:デフォルトの名無しさん
19/07/23 23:09:48.66 vuRfx8Ta.net
tslintが年内収束ってことなんでeslint移行を試しているが、まだ微妙に使いづらいな。

295:デフォルトの名無しさん
19/07/24 12:05:38.50 CC3juVRq.net
Svelte 試してるんだが TS にできない……
eslint-config-prettierがほぼ使用不可になるのもしんどい

296:デフォルトの名無しさん
19/07/28 15:31:08.83 o4KFBn8V.net
vs2019に入れるときはどうしたらいいですか?
色々やってて、2017には入ったけど、HelloWorldが正しく動いてくれない。

297:デフォルトの名無しさん
19/07/28 16:16:00.92 9XfU9Gs7.net
悪いことは言わんからVSCodeにしとけ
それにTypeScriptはIDEにインストールするもんじゃなく、npmでインストールするただの1ライブラリだ

298:デフォルトの名無しさん
19/07/28 19:23:20.85 o4KFBn8V.net
検討してみます。
ありがとう。

299:デフォルトの名無しさん
19/07/30 20:33:12.19 +pfbQhET.net
リテラル型からそのリテラルの値を作ることってできないんだっけか。
Record<Foo,boolean>の変数の初期値にReacord<Foo,false>の値が使えたらよかったんだが。

300:デフォルトの名無しさん
19/07/31 01:05:45.62 LQAad41F.net
型情報から実行時インスタンスの値を変更は不可能

301:デフォルトの名無しさん
19/07/31 22:29:00.76 FZL3ewwl.net
仕組み考えりゃ当たり前だよな

302:デフォルトの名無しさん
19/07/31 22:36:31.70 79+NgejT.net
tsはコンパイル後の結果に型情報は含まないというポリシーだけど、
そういう定数を埋め込むことはやろうと思えばできる話だろ。

303:デフォルトの名無しさん
19/08/27 08:04:24.39 qSEEAuKd.net
androidで使えるts用のeditorないかな
トランスパイルとかはメインの環境でやるからコーディングのための入力支援だけでも受けられるようなやつ

304:デフォルトの名無しさん
19/08/28 02:28:02.83 SJji


305:sg2m.net



306:デフォルトの名無しさん
19/08/29 08:30:46.67 jM/zWkNe.net
Announcing TypeScript 3.6
URLリンク(devblogs.microsoft.com)

307:デフォルトの名無しさん
19/09/05 23:20:27.31 VPhKtGaJ.net
tslintの"max-classes-per-file"のデフォルト値が1なんだけどこれどういう意味合いがあってこんな制限がかかってるの?

308:デフォルトの名無しさん
19/09/05 23:30:25.75 Wj2GuKre.net
Best practice is to keep each file limited to a single responsibility.

309:デフォルトの名無しさん
19/09/06 08:25:08.20 yVtePnMR.net
プロジェクトの規模が大きくなっても1ファイル1classって維持できるものなのか?

310:デフォルトの名無しさん
19/09/06 14:16:54.22 2oSh/AAo.net
tsファイルに
string型のnormalize('NFC')を
使おうとしたんだけど、エラーになる。
なんで?

311:デフォルトの名無しさん
19/09/06 19:54:40.86 XEN3PN1i.net
プロジェクトが大きくなることとひとつのファイルに書くクラスの数が増えることとが結びつかないんだが

312:デフォルトの名無しさん
19/09/10 22:41:19.05 KQIOq++N.net
URLリンク(geekly.co.jp)
>TypeScriptはクラスベースオブジェクト指向です。
こんな転職サイトのお世話にはなりたくない

313:デフォルトの名無しさん
19/09/10 22:57:35.54 bRYQFbtI.net
これはひどい

314:デフォルトの名無しさん
19/09/10 23:33:47.24 A1/RuLsT.net
バズワードに踊らされてるだけなのか、ツッコミどころてんこ盛りなのは置いておいて・・・
Geekly Media ライター
バスコ
最新の記事がXAMPPで草生えた
10年前からタイムスリップしてきたのか?

315:デフォルトの名無しさん
19/09/11 10:05:57.98 3t6F0b74.net
>>307
>TypeScriptはクラスベースオブジェクト指向です。
完全に合っているが…何が問題なんだ?

316:デフォルトの名無しさん
19/09/11 20:26:00.45 P5SVRA88.net
TypeScriptはクラスベースでJavaScriptはプロトタイプベースって対比しているのは完全におかしい
クラス構文はただの糖衣構文で実態はプロトタイプベースだし、そもそもクラス構文はES2015にあるんだからJavaScriptもクラスベースという話になってしまう

317:デフォルトの名無しさん
19/09/11 21:06:44.69 IEmfVi5w.net
JavaScriptをプロトタイプベースのオブジェクト指向言語と言うべきではない
URLリンク(blog.anatoo.jp)

318:デフォルトの名無しさん
19/09/12 02:40:31.86 hFthHt+S.net
Haskellは最終的に再代入しまくりのCに変換される(出来る)けど、Haskellは純粋な関数型言語と言われている
オブジェクト指向言語の様に書けてその通りに動けば、オブジェクト指向言語と言える
TypeScriptが言語仕様を全く変えずにWebAssemblyにコンパイルされるようになっても、TypeScriptはプロトタイプベースと言い張るのか?

319:デフォルトの名無しさん
19/09/12 08:27:51.94 ome0ZpEu.net
オブジェクト指向的な言語機能に関して言えばTypeScriptはJavaScriptと何ら変わりはないんだから
そのHaskellの例は思いっきり的外れというか牽強付会というか。
>TypeScriptが言語仕様を全く変えずにWebAssemblyにコンパイルされるようになっても、TypeScriptはプロトタイプベースと言い張るのか?
プロトタイプが動作しなくなるなら別だが、仕様をまったく変えないという前提なら何も変わらんだろ。
ところで、こんなこと言い張っていた奴なんて見当たらないが、
>TypeScriptはプロトタイプベース
もしかしてクラスベースを否定したらプロトタイプベースを主張していることにされちゃうんだろうか。

320:デフォルトの名無しさん
19/09/12 16:14:58.14 y6P0yrLb.net
TypeScriptはprototypeをいじくるような


321:コーディングは推奨してないだろ 型システムが破綻する その時点でプロトタイプとは関係無い単なるオブジェクト指向言語なんだよ 最終的にどう動いてるか何て関係無い Haskellの様にね



322:デフォルトの名無しさん
19/09/14 21:17:37.20 1MUQqrBS.net
いやなんでそんな必死にその糞ガイジ記事を擁護したがるのかわからん
バスコ本人か?
ちゃんと頭のお薬飲めよ

323:デフォルトの名無しさん
19/09/18 08:52:01.19 F+0EZiKQ.net
知らなかったが、AssemblyScriptなんてあったのか。
既存のTypeScriptのコードがそのままコンパイルできるわけじゃなくて
文法だけが共通の別言語って感じだが。

324:デフォルトの名無しさん
19/09/18 10:08:51.34 L8SHYgAR.net
Ruby と Elixir みたいなもんか
スレリンク(tech板)

325:デフォルトの名無しさん
19/09/18 17:14:10.63 reuwXmQ7.net
ES5以前はともかく、今はPrototypeを意識することは全然ないな
ずっとJavaとかPHPだった人でも違和感なく始められると思う

326:デフォルトの名無しさん
19/09/18 17:29:52.16 fmefOdth.net
でまたまにうんこが顔を出す

327:デフォルトの名無しさん
19/09/18 19:34:20.09 C/YNNC2j.net
3.7はなかなか楽しみな機能が盛りだくさん

328:デフォルトの名無しさん
19/09/18 22:35:58.20 bp3ervLV.net
asserts ええな
pipelineオペあくしろよ

329:デフォルトの名無しさん
19/09/19 10:29:52.30 Nwlz92FM.net
Google、モバイル開発環境を加速するFlutter 1.9、プログラミング言語Dart 2.5リリース
URLリンク(news.mynavi.jp)
Null安全も開発中だそうだし、そうなったら最強かもしれん
TSあやうし!

330:デフォルトの名無しさん
19/09/19 17:24:02.70 uX+yZZQn.net
ksk

331:デフォルトの名無しさん
19/09/19 22:29:49.45 XUz/FlZ3.net
>>323
すでにTSはNull安全なんですがそれは

332:デフォルトの名無しさん
19/09/19 22:33:00.75 Q6kUj/r3.net
TypeScript 3.7 Iteration Plan
URLリンク(github.com)
- Optional Chaining
- Nullish Coalescing
- Assertion Signatures
- Recursive Type References
- ECMAScript Private Fields
- Top-Level await
つよい

333:デフォルトの名無しさん
19/09/19 22:50:14.26 SwC6FU08.net
>>326
Microsoftの本気

334:デフォルトの名無しさん
19/09/19 23:08:15.80 XUz/FlZ3.net
TSあやうし!  (笑)

335:デフォルトの名無しさん
19/09/29 01:47:49.36 DcYKtIGC.net
>>326
Recursive Type References
こんなん出来るのか?
再帰はanyで逃げてたわ。

336:デフォルトの名無しさん
19/10/04 15:53:59.79 JXWhYfPM.net
ktkr
URLリンク(forest.watch.impress.co.jp)

337:デフォルトの名無しさん
19/10/04 21:06:33.10 btlbHhjd.net
>>330
いや、必要なのはパッチじゃなくて、明示的なdeprecatedだろ。
MSは全ての官公庁に対して、blinkのブラウザーを強制させるべき。
ゴミ政治家じゃ無理なので、MSがやれ。
黒船代行料として10兆払っても惜しくない。

338:デフォルトの名無しさん
19/10/06 16:12:20.74 GCn9yAhL.net
Object の OR を自動判別ってできないのかな?
下のURLは、TypeScript Playgroundで書いてみたもの
規制で書き込めなかったから、お手数だが concat して開いてほしい
https://
bit.ly
/30Pw8K3

339:デフォルトの名無しさん
19/10/06 16:44:47.50 9GzCvGAT.net
そういうのは、{ type: 'Succeeded'; result: string }と{ type: 'Failed'; message: string } �


340:ンたいにして、typeで分岐させるのが普通だけど、 if ('result' in resp) {} でもいけるよ typescriptの型はただの構造でしかないことがわかれば理解できると思う



341:デフォルトの名無しさん
19/10/06 17:28:21.59 GCn9yAhL.net
>>333
うおお、できた、ありがとう、感動、感謝、完璧です

342:デフォルトの名無しさん
19/10/09 01:40:28.94 5li6ycXf.net
tsconfig.jsonでソースディレクトリの指定は
"include": [
"src/**/*"
]
と "compilerOptions":{
""rootDir": "./src",
のどっちが正しいのですか?

343:デフォルトの名無しさん
19/10/09 07:36:48.39 ldi65x/b.net
コンパイルできる方

マジレスすると上
rootDir って要らなくね?

344:デフォルトの名無しさん
19/10/26 16:09:48.89 z1scFH36.net
もうeslintに移行しても大丈夫かな?

345:デフォルトの名無しさん
19/10/26 16:20:08.49 A0XjOFSl.net
もう3ヶ月前くらいに本番でeslint移行したが、全く問題なくてビビるぞ

346:デフォルトの名無しさん
19/11/06 08:31:23.68 EkX1LXXs.net
Announcing TypeScript 3.7
URLリンク(devblogs.microsoft.com)

347:デフォルトの名無しさん
19/11/06 08:52:02.60 sPTvbp9j.net
 (  ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /

きたか…!!
  ( ゚д゚ ) ガタッ
  .r   ヾ
__l_l / ̄ ̄ ̄/_
  \/    /

  ( ゚д゚ ) スッ
_(__つ/ ̄ ̄ ̄/_ 
  \/    / 

348:デフォルトの名無しさん
19/11/06 11:02:39.72 o3tEvZiY.net
1歩進んで2歩さがる

349:デフォルトの名無しさん
19/11/08 14:35:13.79 vk2bSkbm.net
Microsoft、組み込みデバイスをターゲットとしたTypeScriptの高速サブセット”Static TypeScript”を発表
URLリンク(www.infoq.com)

350:デフォルトの名無しさん
19/11/08 15:41:32.87 IHFsmiXW.net
神ってる

351:デフォルトの名無しさん
19/11/08 21:30:00.92 tlySiByz.net
>さらにSTSは、TypeScriptの型規則からも逸脱している。TypeScriptがクラスに構造的型付け(structural typing)を
>使用するのに対して、Static TypeScriptでは名前的型付け(nominal typing)を使用しているのだ。
TypeScriptの人気にあやかった別言語じゃね?

352:デフォルトの名無しさん
19/11/09 02:29:33.32 NblRK941.net
結局ただのC言語の亜種だろ
MSもそんな事をいちいちアピールしないといけないほど落ちぶれたか…

353:デフォルトの名無しさん
19/11/23 10:38:33.96 1aAJfoMg.net
TypeScriptはJSerへの強制型付けギプスだと思えばそこそこ優秀
いつまでもギプスつけた状態で満足するものではないのでそのうちRustなり別の静的型付けに移行する前提であれば賞賛できる

354:デフォルトの名無しさん
19/11/23 10:47:34.10 cqseOAmT.net
TypeScriptはタイプ脳への強制補助輪だと思えばそこそこ優秀
いつまでも補助輪つけた状態で満足するものではないので
そのうち生JSなり別の動的型付けに移行する前提であれば賞賛できる

355:デフォルトの名無しさん
19/11/23 11:57:55.85 cBKKqL2b.net
TypeScriptはタイプ脳への強制補助輪だと思え
ばそこそこ優秀いつまでも補助輪つけた状態で満足するものではないのでそのうち生JSなり別の動的
型付けに移行する前提であれば賞賛できる

356:デフォルトの名無しさん
19/11/23 13:06:34.59 /aIGpl4m.net
型無し糞言語は死ねだと思え
動的糞言語はいつまでも糞でそのうち糞
糞糞糞

357:デフォルトの名無しさん
19/11/30 00:23:57.91 /MHIrz97.net
すみません
今までES5.1を使って来て、これから扱い易いと言われる
TypeScriptを学習しようと思うのですが
逆にTypeScriptの方がJavaScriptより
難易度高いと言う事はありませんでしょうか。
型は値に付く物で変数はそれへの参照、
prototypeはファンクションへの参照格納用プロパティ
Objectは可塑性のある便利な何かという感覚が身についています。

358:デフォルトの名無しさん
19/11/30 05:04:50 TrAQa+kD.net
vscodeといっしょに使えば、jsより楽
型エラーは全てTSが教えてくれる

359:デフォルトの名無しさん
19/11/30 08:52:48.62 5l2Z


360:f0lZ.net



361:デフォルトの名無しさん
19/11/30 09:04:25.09 6ZWltqHp.net
TSの機能を余す事なく使おうと思うと難易度高いけど
其処を目指す必要はない

362:350
19/12/01 22:23:36.97 THamb1cl.net
ありがとうございます。
とりあえず tslint を緩めにしてやってみます。

363:デフォルトの名無しさん
19/12/02 06:56:16 mLOeT+PU.net
TS初心者ですがお勧めの書籍ありませんか?webpackとかも合わせて勉強したいです。

364:デフォルトの名無しさん
19/12/04 22:44:25.30 sxQF45hm.net
interface A {
x: string;
}
a: A;
A.xの型(string)を取り出したい場合 typeof A.x じゃダメで typeof a.x ならいけたけど、
aみたいな変数を使わずに typeof A.x 相当のことってできないんだっけ?

365:デフォルトの名無しさん
19/12/05 07:17:39 mSvldXoX.net
A['x']

366:デフォルトの名無しさん
19/12/05 08:56:27.95 pFxixMvG.net
なるほど。ブラケット記法って最近とんと使わなくなったけど、こんなところに使い道残ってたんだ。

367:デフォルトの名無しさん
19/12/21 15:23:23.21 BSqycIZI.net
実践TypeScript - BFFとNext.js&Nuxt.jsの型定義、吉井 健文、2019/6/26
今まで、TS の本は、あまり無かったので買ってみた
入門者用の文法の説明が、130ページしかない。
残りの190ページが、各フレームワークへの対応
本屋で、他の本を見たら、
掌田津耶乃は、Node.js, Vue.js, React, Angular の本を出してるw
山田祥寛も、Vue.jsの本を出した

368:デフォルトの名無しさん
19/12/21 15:40:03.75 BpSzdr8P.net
vueは根本から型が腐ってるから使う必要なし

369:デフォルトの名無しさん
19/12/21 19:32:06.97 MnINNRtE.net
やっぱ React か

370:デフォルトの名無しさん
19/12/21 22:14:02.68 K0kobvcw.net
日本人は馬鹿だからしょうがない。
世界的にはreactなのに、世界と同じものでは戦えないからなのか、日本ではvueを使おうとする

371:デフォルトの名無しさん
19/12/24 13:31:33.33 WgZ9RMXM.net
記述がスゲー長くなって見づらい
これって劣化javaみたいな記述にならない?
jsの良さが完全に死亡してる気が…

372:359
19/12/24 13:53:39.03 3XzgnZW7.net
実践TypeScript を読んでるけど、TS の細かい挙動の怪しい所が多いから、
その例外的なルールの数を覚えるのが大変。
つまり、ハマる箇所を避けるのが大変
TS を学ぶと、Haxe の偉大さが分かる!
JavaScript のおかしい部分を修正しているから、かなりやりやすい

373:デフォルトの名無しさん
19/12/24 21:47:34.41 j2uQerkx.net
JSに良さなんてあったのか!?びっくりドンキー!

374:デフォルトの名無しさん
20/01/04 19:44:33.72 pllwqfHK.net
3.7でECMA private field 使えないんだな。ガチのprivateはお預けかぁ

375:デフォルトの名無しさん
20/01/04 19:55:56.50 Gwa4LI2s.net
ECMA private fieldの必要性、全く感じないわ

376:デフォルトの名無しさん
20/01/16 00:04:23 YIQKI70M.net
ts拡張子のts動画との棲み分けってうまい方法あるかな?

377:デフォルトの名無しさん
20/01/17 22:59:25 c8jQBH00.net
tsxにする

378:デフォルトの名無しさん
20/01/21 10:46:46 YewYG19G.net
ts-jestはテストのたびに*.test.tsをTypescriptからJavaScriptにコンパイルしてテストを実行しているのですか?
テストコードが変わらなくても、内部的にコンパイルしてるの?
それとも、tscコマンドでテストコードもコンパイルしてjsファイルに変換したら、それを利用してるの?

379:デフォルトの名無しさん
20/01/24 09:42:02.04 apHhsOxs.net
プロパティでyield のやりかたわからん。
get hoge : Generator<number,void,boolean> {
   return (function* (){ yield 1; yield 2; yield 3; })();
}
とかでええの?
なんか get* hoge も *get hoge も get *hoge も怒られる。

380:デフォルトの名無しさん
20/01/24 22:27:44.69 gpzJLuFb.net
そもそも getter にジェネレータ記法はない

381:デフォルトの名無しさん
20/01/24 23:21:56 pw14qEqb.net
getterでそんな複雑なことをするんじゃあない・・・

382:デフォルトの名無しさん
20/02/24 18:47:37 Av6u/PEd.net
<Ts extends Array>(...args: Ts)=>
でTsの全ての型の交差型を返したいんだけど可能?

383:デフォルトの名無しさん
20/02/24 23:10:15 dJSyQnEN.net
Typescript: Retrieve element type information from array type - Stack Overflow
URLリンク(stackoverflow.com)

Creating types from values in array ・ Issue #28046 ・ microsoft/TypeScript
URLリンク(github.com)

keyof for arrays ・ Issue #20965 ・ microsoft/TypeScript
URLリンク(github.com)

この辺どうよ
できたら教えて

384:デフォルトの名無しさん
20/03/02 20:34:14 Vt4u2rjY.net
締め付けはガチガチなのにガバガバな構文
トランスパイルのせいで起動は遅いし設定項目やハマりポイントはクソ増える
選択肢のないフロントはともかく、言語を選び放題なサーバーでts入れてまでjsを使う意味ってなに?

385:デフォルトの名無しさん
20/03/04 19:31:12 Xkhzo69W.net
>>376
キツマンなのに誰とでも寝るみたいなん感じか

386:デフォルトの名無しさん
20/03/05 00:10:09.52 aV1N9imN.net
型無し言語というジャンルで見ると、一番マシ

387:デフォルトの名無しさん
20/03/07 19:41:25.48 Gq72B5Zp.net
URLリンク(github.com) をC#に書き直してる。
44行目からのwithが分からん。
with(newLineNumber: number = this.lineNumber, newColumn: number = this.column): Position {
if (newLineNumber === this.lineNumber && newColumn === this.column) {
return this;
} else {
return new Position(newLineNumber, newColumn);
}
解説とC#に書き直して。"Create a new postion from this position."ってあるけど、
どう呼ばれるの?もしかしてwith文じゃなくて、with()ってメソッド?

388:デフォルトの名無しさん
20/03/07 20:06:50.29 74qnesAz.net
メソッドの定義以外の何に見えるのか

389:デフォルトの名無しさん
20/03/07 21:33:39.02 po15mmZE.net
そもそも JavaScript に with 文なんて・・・あるのかよ何だこの邪悪な臭いがプンプンするやべえやつは

390:デフォルトの名無しさん
20/03/08 10:00:55 Dz/wpeTc.net
>>203
御社は今どういう状況になってる?

391:デフォルトの名無しさん
20/03/08 13:25:25 /+j1E1ja.net
>>382
何も変わっとらんよ
機能拡張もできないから、現状維持という名の放置

392:デフォルトの名無しさん
20/03/08 13:39:52 Dz/wpeTc.net
サンクス

393:デフォルトの名無しさん
20/04/14 00:16:42 Rf+yV41A.net
違い何?

interface Dictionary<T> { [key: string]: T; }

type Dictionary<T> = { [key: string]: T; };

394:デフォルトの名無しさん
20/04/14 00:52:31.86 1s8555QT.net
そのコードに限っては、違�


395:「ないかもな interface は後から追加できる これ playground にでも貼ってみ ``` interface DictionaryI { a: string b: string } type DictionaryT = { a: string b: string }; interface DictionaryI { wow: number } type DictionaryT { wow: number } const di: DictionaryI = ({} as any) console.log(di.wow) ``` だから、ライブラリの定義ではたまに使われる プロダクトコードで使ってる奴は物知らないか、設計力のないやつ



396:デフォルトの名無しさん
20/04/14 08:03:12 KwYjFqSp.net
>物知らないか、設計力のないやつ
どうして?

397:デフォルトの名無しさん
20/04/14 08:24:49.93 NW9baKp2.net
>>386
ケツにIとかTを付けるのは設計力の無いやつ

398:デフォルトの名無しさん
20/04/14 08:34:25 1s8555QT.net
>>388
ただのサンプルコードにそんなこと言われてもwww

>>387
以下理由
・昔デフォルトONだったprefer-interfaceを引きずっている
・自分で管理できるコードなのに、interfaceで拡張する余地を残さねばならないのはおかしい

399:デフォルトの名無しさん
20/04/14 08:54:36 NW9baKp2.net
>>389
> ・自分で管理できるコードなのに、interfaceで拡張する余地を残さねばならないのはおかしい
オブジェクト指向を全否定かよw

400:デフォルトの名無しさん
20/04/14 10:13:18 1s8555QT.net
>>390
たぶん君は、Java の implements に使える interface のことを言ってるのだと思うが、
type でも implements 相当の宣言ができるので、
TS の interface は src 変更が容易でないが、ライブラリの性質上拡張の余地が必要なケースでしか有効でない

「同じ名前の型なのに、実は後から src のどこかで拡張されてました」なんて嫌だろう?
どこの JavaScript だよ

401:デフォルトの名無しさん
20/04/14 18:14:19 Rf+yV41A.net
>>386
なるほど
ありがと

402:デフォルトの名無しさん
20/04/26 04:53:02 IAt9cGuZ.net
function hoge<T, S> (x: T, f: (x: T) => S) {
// ...
}
みたいな関数があって、引数f のデフォルト値を identity:<T>(x: T) => T
にしたいんだけど、無理かしら?

hoge(1) <-- このときは T: number, S: number と推論してほしくて、
hoge(1, n => `number: ${n}`) <-- このときはT: number, S: string と推論してほしい

403:デフォルトの名無しさん
20/04/26 05:47:15.51 IAt9cGuZ.net
ごめん、自己解決した
TypeScriptでは依存型をオーバーロードで実現できるのね
```
function hoge<T>(x: T): T;
function hoge<T, S>(x: T, f: (x: T) => S): S;
function hoge<T, S>(x: T, f?: (x: T) => S) {
if (typeof f === "undefined") {
return x
}
return f(x)
}
```
これで一応、第2引数指定しなかったら、戻り値の型を第1引数の型で推論してくれるようになったし、
指定すればその関数の戻り値の型で推論してくれるようになった

404:デフォルトの名無しさん
20/05/13 20:55:34 Z2ECG7mm.net
Announcing TypeScript 3.9
URLリンク(devblogs.microsoft.com)

405:デフォルトの名無しさん
20/05/13 22:51:12 8OQL2q6a.net
>Our team has been focusing on performance after observing extremely poor editing/compilation speed with packages like material-ui and styled-components.
あーやっぱり material-ui と styled-components が遅いんだ
両方使ったら耐え難いレベルで重くて辛かった

406:デフォルトの名無しさん
20/05/17 20:28:24.81 eDtMluXf.net
初学者が今からTypeScriptやるメリットってある?
普段使ってるC#のBlazorが育つまで我慢してそれまではJS使えばいいかなーという気がしてるんだけど

407:デフォルトの名無しさん
20/05/17 21:27:13.06 07c/uCSO.net
・BlazorがTSと同等レベルまで言語・市場が育つことはありえない
・JSに毛の生えた程度の文法でC#と同等以上のタイプセーフの恩恵を受けられる
と思うよ
正直TS始めて


408:からは、JS(特に他人が書いたやつ)は2度と触りたくなくなった



409:デフォルトの名無しさん
20/05/17 22:05:58.39 ShD9HsIi.net
仕方なく js 書いてる時も jsdoc で型を付けまくってる
もうあの頃には戻れない・・・

410:デフォルトの名無しさん
20/05/17 22:08:17.75 ilBeXKNK.net
毛が生えたと言われてもジェネリクス周りとか仕様がけっこう大きい(大きいだけでそんなに難しくは無いけど)。あと歴史的に同じような機能のものが複数あるのはやや辛い。

411:デフォルトの名無しさん
20/05/17 22:10:49 ilBeXKNK.net
素のjsは確かに触りたくなくなったな~

412:デフォルトの名無しさん
20/05/17 22:12:40 07c/uCSO.net
>>400
まぁそうだけど、最初はbetter js程度に :string みたいな単純な型書くだけでいいと思うよ
それだけで劇的に違ってくる

413:デフォルトの名無しさん
20/05/18 06:26:49.70 IgsFvSEI.net
>>402
確かにそうだわ

414:デフォルトの名無しさん
20/05/18 09:34:50.89 /q4v9RIOI
TypeScriptのnamespaceってJavaのpackageやPHPのnamespaceとは違うものでしょうか?

型定義ファイルでいくつかのinterfaceをnamespaceでくくり、
別ファイルで「import PostRequest = SlackApp.PostRequest」で参照したら
TS2702: 'SlackApp' only refers to a type, but is being used as a namespace here.
と言われてしまいました。
括らないで「import { PostRequest } from '../types/PostRequest'」で参照したらエラーにはならなかったです。
複数の定義をまとめる目的で使うものではないのでしょうか?
それとも書き方を間違えてますか?

415:404
20/05/18 09:35:28.60 /q4v9RIOI
claspを使ってGoogle Apps ScriptをTtypeScriptで書いていて、SlackのSlash Commandのリクエストを定義したいです。

// src/doPost.ts
import PostRequest = SlackApp.PostRequest
function doPost(request: PostRequest) {
  SlackApp.postMessage(JSON.stringify(request))
}

// types/SlackApp.d.ts
declare namespace SlackApp {
  interface PostRequest {
    parameter: SlashCommandParameter,
    /* 省略 */
  }

  interface SlashCommandParameter {
    /* 省略 */
  }

  interface SlashCommandParameters {
    /* 省略 */
  }
}

416:デフォルトの名無しさん
20/05/19 12:17:36.04 m7E0nRpi.net
クラス使えるだけで嬉しかった。prototypeとか二度と触りたくない。

417:デフォルトの名無しさん
20/05/19 19:57:31 JYXLTsSv.net
せっかくTypeScript使うのになんでクラス

418:デフォルトの名無しさん
20/05/19 20:00:38 lV40zBP6.net
jsonに型が付くのマジサイコーって気分になる

419:デフォルトの名無しさん
20/05/20 18:25:07.86 uCxRgACC.net
@types/node を v14:x に上げたら fs.write* 周りでエラーがいっぱい出た
以前の型定義ファイルでは第2引数が any だったために見逃されてたのね

420:デフォルトの名無しさん
20/05/20 19:13:29 kUjfC17v.net
vscoe+deno
d.tsを用意してjsをimportたがインテリセンスに型情報がでない

421:デフォルトの名無しさん
20/05/20 19:43:48 q4rNYEAk.net
アーリーアダプタすぎっしょ

422:デフォルトの名無しさん
20/05/28 04:29:10 YaDoyLzB.net
質問させてください
初歩的なものかと思いますがよろしくおねがいします

以下の様に getElementById() にてinput要素を取得した場合、value属性を読み取ろうとすると問題が発生します。
  const input = document.getElementById('input');
  const text = input.value; // <- プロパティ 'value' は型 'HTMLElement' に存在しません。ts(2339)

解決方法を検索すると、
  const input = <HTMLInputElement>document.getElementById('input');
  const input = (document.getElementById('input')) as HTMLInputElement;
などの型ア�


423:Tーション?キャスト?で解決するように書いている記事が多くヒットするように感じます。 質問としましては、  ・HTMLElementではなくHTMLInputElement等の具体的な型で要素を取得する方法はありますか?  ・具体的な型で取得できない場合、それがHTMLInputElementであると判定する方法はどのようなものがありますか? 以上、長くなりましたがご教授頂けると嬉しいです。



424:デフォルトの名無しさん
20/05/28 05:30:32 uIAU+1VL.net
>getElementById
英語読め

425:デフォルトの名無しさん
20/05/28 07:36:15.22 XtQwhE1K.net
>>412
URLリンク(bi)□t.ly/2zBJQbZ
こんな感じでいかがでございましょうか?
getElementById の取得結果は、HTMLElement を継承した何かであることは確実だが
より具体的な型であることは if 文などで判定しないとわからないので
(読みやすい)ワンライナーするのは難しいかな

426:デフォルトの名無しさん
20/05/28 07:37:06.32 XtQwhE1K.net
リンク先は typescript playground
長すぎて貼れなかった
url中の□を取っ払ってアクセスしてほしい
こっちも短縮url規制で貼れなかった

427:デフォルトの名無しさん
20/05/28 08:20:23 YaDoyLzB.net
>>414,415
なるほど、constructorと型の名称は一致するので比較に使えるのですね。
3パターンもありがとうございます。参考にさせて頂きます。

428:デフォルトの名無しさん
20/06/03 19:01:52.32 +riA6q4Z.net
vscodeのタスクでビルドしたいのですが、上手くいきません。
最初から入っていた"tsc: ビルド - tsconfig.json"という設定を使ってタスクを実行すると、
> Executing task: tsc -p (省略)\tsconfig.json <
パラメーターの書式が違います - -Command
と出てビルドが終了しません。
コンソールに同じコマンドをコピペするとちゃんとjsファイルが作成されます。
ググってみたのですが、そもそもtscで「パラメーターの書式が違います」というエラーが出るという記事すらありませんでした・・・
どうすればいいでしょうか。

429:デフォルトの名無しさん
20/06/03 19:16:49.18 W7xz+V5+.net
普通にnpmとnpm scriptの一部に組み込んだ方がいいと思う
vscodeのタスクとか使ったことないし、必要性も感じたことないな

430:デフォルトの名無しさん
20/06/04 22:32:22.64 c/bZjxGo.net
tscがどこにインストールされてるか、とか関係ありそう

431:デフォルトの名無しさん
20/06/04 23:13:01.10 hC0MsN2x.net
npx tsc --init
で、tsconfig.json が出来る
package.json に、こう書いておいて、
"script": {
"build": tsc
},
npm run build
で、コンパイルする

432:デフォルトの名無しさん
20/06/06 19:11:34 FUHWS7EH.net
>>418
そうすることにします

>>419
AppData\Roaming\npm
にありました。

>>420
元々コンソール上からはどのコマンドも実行できるのですが、
vscodeのタスクから使うとエラーが出てしまうんです。

色々テストしていたところ、
単なるシェルコマンド echo unko ですらエラーが出るのでvscode固有の問題っぽいです

433:デフォルトの名無しさん
20/06/06 20:04:01.16 vddsi0s3.net
>>417
パラメータの書式が違うってのはPowerShellでよく見るエラーだけど、VSCodeってPowerShell叩いてるんだっけ?
VSCode固有の問題と決めつけるんじゃなくてもう少し調査してみたら?

434:デフォルトの名無しさん
20/06/07 10:34:46 s05OkEKn.net
解決しました

日本語版のWindowsではpowershell.exeがShiftJISで読まれるので、
合わせてvscode上のPowerShellの文字コードをShiftJISに変えていたのが原因でした。
元のUTF-8に戻したら問題なく実行できました。

tscをフルパスで実行したらパスの途


435:中にスペースが発生し、 PowerShellスクリプトのデバッグ時によく見た文字化けだったので気づけました。 >>422 ご名答です PowerShellが叩かれていて、エラーもPowerShellからでしたw



436:デフォルトの名無しさん
20/06/11 18:33:48 Jv4rHxRX.net
Nodeでサーバーを立てているような場合、
ユーザーが入力した値を格納する変数の型は一旦unknownとしておいた方が良いのでしょうか?
例えば以下の様な場合です。
 const func1 = (userInput: unknown) => {...};
 const func2 = (userInput: string) => {...};

バリデーション等を行って問題が無ければ、
改めて型宣言した変数に代入し直すような方法が一般的ですか?

437:デフォルトの名無しさん
20/06/13 14:38:30 fZdtN3m2.net
ついにDartがnull安全になったそうな
URLリンク(forest.watch.impress.co.jp)

webからiOSまで1言語で書ける(ちゃんと動くとは言っていない)

438:デフォルトの名無しさん
20/06/13 16:20:45.29 cnsVZnHy.net
今TypeScript+Reactを勉強しているのですけど、テーブルのコンポーネントで使いやすいものって無いですか?
テーブルのヘッダはそのままで縦は内容だけスクロールして横はテーブルも一緒にスクロールするみたいなものが良いです

439:デフォルトの名無しさん
20/06/13 21:17:17.22 qaq6yJI2.net
jexcel
react-table
react-tableは、初心者なら v6 おすすめ
理由は、標準でUIが付いてるから簡単にそれっぽいものができる
ドキュメント調べれば割と多くの挙動に対応できるはず
代わりに、UIのカスタマイズがつらい
「あそこのcssを弄りたいけど、どうやって指定すればいいかわからん」
「!importantじゃないと上書きできない」
的なことになりがち
あと、@types を v6 のをインストールするよう注意すること
UIごりごりにカスタマイズしたいなら最新の v7
headless と謳われてるように、UIが一切ないから全て自分の思い通り
代わりに、学習コストが高い
あと @types 書いたやつがバカなのか、Genericsの対応が酷くて
キャストがたくさん必要でうんざりする

440:424
20/06/14 00:14:28 uuDX9j1b.net
>>427
有難うございます、react-tableを調べてみます。

material-uiがElectronで
TypeError: Cannot use 'in' operator to search for 'ontouchstart' in null
とか出て動かなくて困っていました。
ボタン一個しか指定していないサンプルを写してこれです。

441:デフォルトの名無しさん
20/06/14 00:51:17.06 864/oVLm.net
>>428
URLリンク(stackoverflow.com)
速攻それっぽいの出てきたが、ちゃんとググったかねキミィ?

442:デフォルトの名無しさん
20/06/14 12:09:11.89 qCi3/fDK.net
これっぽいの見たことあるけど、他にも気になる事があって見落としてました
<div>に書いてあるの要るのかな?
今試せる環境でないので後日に

443:デフォルトの名無しさん
20/06/25 08:05:47.95 Nd1uEPT+.net
TypeScriptってsetIntervalとかsetTimeout,
async/await, Promiseとか使えるんですか?

444:デフォルトの名無しさん
20/06/25 08:55:25.54 3QV8gPE9.net
逆に使えない意味がわからない

445:デフォルトの名無しさん
20/06/25 09:53:31.94 2LahzjFh.net
Ruby on Rails では、React も多いけど、
TypeScript を使う香具師は、いるのかな?


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