X



TypeScript part3
■ このスレッドは過去ログ倉庫に格納されています
0064デフォルトの名無しさん
垢版 |
2018/08/25(土) 19:03:42.73ID:hQEFe9I2
TypeScriptに __LINE__ マクロみたいな行番号埋め込む機能ってないよね?
デバッグ用にあったら良かったんだけど。
0065デフォルトの名無しさん
垢版 |
2018/08/25(土) 23:06:49.80ID:/7rCFVoA
>>62
んなこたーない
Effective JavaScriptに書いてあるようなことが自然と全て理解できてるなら要らないけど、そんな奴が5chを見てるわけないし
0066デフォルトの名無しさん
垢版 |
2018/08/26(日) 11:46:26.97ID:m2nYH45u
Effectiveは確かに読む意味がある本だわ
でもそれJavaScript既に知ってる人間が読む本だろ
0068デフォルトの名無しさん
垢版 |
2018/08/26(日) 13:48:02.46ID:gb73y82y
tsそんなにいいかなぁ?
jQueryからvue、angularまで色々やってるけど、利点がよく分からないよ。
0069デフォルトの名無しさん
垢版 |
2018/08/26(日) 14:52:56.21ID:yJfbxE3G
そらjQueryからvue、angularなんて脇道に逸れた時代遅れのゴミ使ってるセンスのない、
ぼんやりしたボンクラにとっては、利点も糞も気付けないわなw
0070デフォルトの名無しさん
垢版 |
2018/08/26(日) 15:09:29.33ID:zw53fmop
angularは1系とか触ってたん?
今はtsで書かれてるはずだからts必須みたいなもんでわ?
0073デフォルトの名無しさん
垢版 |
2018/08/27(月) 19:20:05.06ID:3J2b9jYp
>>71
> 2017年10月から
なんとゆう今さらωωω
そしてAndroidではKotlin標準化と併せてTSも標準化されたのをご存知ないのですンゴ?ωωω
0077デフォルトの名無しさん
垢版 |
2018/08/29(水) 21:38:11.08ID:WBp+gbgf
別に。何も変わらん。
諸事情でバベってるのにFlowも入れてないゴミどもは
最新のバベルなんて使わないし使えないだろうから相変わらずコヒースクリプト(爆)みたいな生カスジャバスクだし
既にTS使ってる奴らはTSだし
何も変わらん。
0078デフォルトの名無しさん
垢版 |
2018/09/19(水) 23:22:13.98ID:k2lJKoIo
age
0079デフォルトの名無しさん
垢版 |
2018/09/20(木) 22:57:46.62ID:Pf20cirP
今さらドヤ顔でゆるいルール厳しいチェックとか言ってるのくそむかつく

厳しいルールが今まで普通だったのは
アバウトなのを許したらめちゃくちゃなのを差し込んで意図的に環境破壊していく会社がいたからだ
てめーらだけ安全地帯だからって
008354
垢版 |
2018/10/04(木) 22:31:58.31ID:B6XYHrci
importは他ファイルのクラスを持って来れるようにするのよね
@xxxxxのデコレータの役割がわからないのだけど誰か教えてくれんかね・・・
「付加情報をclassやmethod等に付与するための仕組み」ってなんぞ
Javaでいうアノテーションらしからそれも調べたけどわからない・・・^p^
0085デフォルトの名無しさん
垢版 |
2018/10/18(木) 22:51:05.35ID:Rszm7VcT
TypeScriptでジェネリクスを使ったとき、C++でいうテンプレートの特殊化のようなことって
できないもんですかね?

function func<T>(x) でTがnumberとstringの場合とで別の処理ができたらいいんだけど。
0086デフォルトの名無しさん
垢版 |
2018/10/19(金) 02:55:24.30ID:iO0N1Qhu
型情報で実際に呼ぶ関数のオーバーロードの振り分けはできたりはしない
共用型 string | number を使えば string と number 以外の型は入らなくなる
実装部分は typeof arg === 'string' とかで分岐。返り値の型は推論される
推論が思ったようにいかなそうなら mapped type 使うなりオーバーロードの宣言を書いたりしても良い
0087デフォルトの名無しさん
垢版 |
2018/10/19(金) 07:51:09.81ID:1EDOmnkE
ありがとう。やっぱりダメか。

> typeof arg === 'string'

Tがstringだったら'string'と比較するってのをやりたかった。
0088デフォルトの名無しさん
垢版 |
2018/10/20(土) 14:25:59.55ID:QA1RjyY/
Typescriptのコンパイラのソースコードを見たが、
swicth文による条件分岐が乱用されていて美しいソースコードではなかった。
もっと良い設計があるはず。
0093デフォルトの名無しさん
垢版 |
2018/10/23(火) 18:43:56.54ID:+WvUI4qM
Typescriptのコンパイラのアルゴリズムは何ですか?
ソースコードを見たところ再帰下降解析らしいけど、それだと左再帰で問題が出るよね。
0096デフォルトの名無しさん
垢版 |
2018/10/23(火) 19:42:09.06ID:EVpcwrUE
就職してないのかよw
ハイクラスなら就職なんてしなくても学生の内から引く手あまただろ
または起業しろよ
0097デフォルトの名無しさん
垢版 |
2018/11/07(水) 08:20:52.86ID:lnxFtwDW
今の職場でts+Vue.jsで作ってる案件があるんだけど、コードの肥大化と共に
型チェック付きのビルドに10分以上かかるようになっちゃって型チェックなしのヒルドに変更してしまってるんだけど

そういう事例って他のところにもある?
0098デフォルトの名無しさん
垢版 |
2018/11/07(水) 08:56:34.35ID:+94YsfsL
世界でも有数の大規模ソフトウェアであるVSCodeがTypeScriptでビルドされている以上、
利用者のスキルの問題でしかないな
0099デフォルトの名無しさん
垢版 |
2018/11/07(水) 15:40:12.32ID:d0XTpm7T
まぁ、今どきVueを選んじゃう技術力・審美眼のないとこじゃしょうがないんじゃないか?
糞うるさいポンコツウインドウズXPとか使ってそう
0100デフォルトの名無しさん
垢版 |
2018/11/07(水) 16:13:39.60ID:mdwOvRGk
React使いがよく言うよな。技術力&審美眼。
魔窟になってるのを技術力と言い換えて、そのアーキテクチャを美と言い換えるやつ。
0101デフォルトの名無しさん
垢版 |
2018/11/07(水) 19:54:03.59ID:ReL8stLA
うちのプロジェクトもビルド時間5分なんでどうにかしたいなぁ。
makedepend+makeが欲しい。
0105デフォルトの名無しさん
垢版 |
2018/11/09(金) 18:28:02.99ID:npJX8Ub3
module と namespaceの使い分けは
どうやればいいの?
0106デフォルトの名無しさん
垢版 |
2018/11/09(金) 18:56:45.93ID:gzUh27KV
使い分けるものではない
moduleはnamespaceに置き換えられた
常にnamespaceを使用せよ
0107デフォルトの名無しさん
垢版 |
2018/11/09(金) 19:06:31.99ID:npJX8Ub3
>>106
了解
0109デフォルトの名無しさん
垢版 |
2018/11/11(日) 11:38:30.86ID:Cm/nwVcs
>>108
ほぼ一緒だから気にしなくていい。
Typescriptの仕様書にも「非常に似ている」と書いてある。
ただ、interfaceは

inteface Point {
x:number:
}

interface Point {
y:number:
}

というようにプロパティの追加ができるが、typeはできない。それぐらいしか違いがない。
0110デフォルトの名無しさん
垢版 |
2018/11/11(日) 13:05:47.70ID:/+pk64i1
TSLintのデフォがtypeよりinterfaceを推してくるからとりあえずinterfaceにする事が多い
0113デフォルトの名無しさん
垢版 |
2018/11/11(日) 20:39:14.47ID:3jMJhmwM
例えば file1.tsを編集していて、バックアップとしてそのファイルを複製して
file1 - コピー.ts
を作ったとすると、関数名が重複していますみたいなエラーがダダダーと
出るんですが、どのように対策すれば良いでしょうか?
0114デフォルトの名無しさん
垢版 |
2018/11/11(日) 20:52:52.31ID:B3f/927d
自分はいつもバックアップはfile1.ts.bakって付けてる。
0118デフォルトの名無しさん
垢版 |
2018/11/11(日) 21:29:49.74ID:cIalEm6/
gitにサーバが必要とか正気か
いいからとりあえずチュートリアルやってみろ
0120デフォルトの名無しさん
垢版 |
2018/11/11(日) 23:28:37.79ID:R0IiHkaX
>>119
man git
で英語を読む

でも、君にはそんな技術も学も根性もなさそうだから、
やっぱりfile1 - コピー.ts.bak181110ってするのがいいと思うんだ。

いや君をバカにしてるわけではなくて。
猿は猿らしい生活をした方が幸せだと思うからさ。ね。
0121デフォルトの名無しさん
垢版 |
2018/11/11(日) 23:59:28.42ID:cIalEm6/
>>119
これ以上は他所でやってくれ
お前さんの質問に対する回答は

* 編集バックアップをファイルコピーでとるというのがクソ
* 拡張子も変えてないならビルド対象になって当然

でおしまい
0124デフォルトの名無しさん
垢版 |
2018/11/18(日) 12:08:33.81ID:uaqKqGAI
猿でも判るように書いたら人間に判らなくなりました
0125デフォルトの名無しさん
垢版 |
2018/11/18(日) 13:48:19.18ID:pdwgi8hG
猿ですがわかりません
0126デフォルトの名無しさん
垢版 |
2018/11/26(月) 23:24:03.84ID:uFKIPm3P
elem.onclick = function () {
if (this.classList.contains('classA')) {
・・・
}

こんなコードを書くと、Visual StudioのTypeScriptで
エラー TS2339 (TS) プロパティ 'classList' は型 'GlobalEventHandlers' に存在しません。
と出るのですが、生成されるJavaScriptコード(上のコードを同じ)は問題無く実行出来る。
これは何故ですか?
0127デフォルトの名無しさん
垢版 |
2018/11/26(月) 23:28:58.28ID://9j39Lt
あのさぁ…何のためにTypescript使ってんのよ…
0128デフォルトの名無しさん
垢版 |
2018/11/26(月) 23:46:28.79ID:uFKIPm3P
>>127
仕事で仕方なく
0135デフォルトの名無しさん
垢版 |
2018/11/27(火) 10:22:11.47ID:AQW0OfN+
addEventListenerは要素ごとにシコシコ定義されていて、thisがその要素になっているのでOK
onclickとかはGlobalEventHandlersでmixin的に定義されていて、this: GlobalEventHandlersになっちゃってるのでNG
0136デフォルトの名無しさん
垢版 |
2018/11/27(火) 10:37:58.94ID:riCGJi9o
>>135
なるほど。でも、そもそも
this.classList ではなくて
elem.classList と書けばいいんじゃないか
0139デフォルトの名無しさん
垢版 |
2018/12/01(土) 10:07:51.30ID:7lSKHFDm
ようやくEitherでホイサーできるTSがきたか
しかしleftrightとパタマチがないとダメやろこれ
0140デフォルトの名無しさん
垢版 |
2018/12/01(土) 10:12:04.48ID:7lSKHFDm
よんだら、これEitherじゃなくホイサーだろ・・・
エラー処理強制できないEitherってナンジャー?
ゴミジャー
0141デフォルトの名無しさん
垢版 |
2018/12/01(土) 18:12:50.09ID:qYhERqMT
宇宙に満ちている光を伝える媒質、だっけ。
0143デフォルトの名無しさん
垢版 |
2018/12/01(土) 21:38:50.33ID:qYhERqMT
旧盆に行われる沖縄の盆踊り、かな。
0144デフォルトの名無しさん
垢版 |
2018/12/04(火) 20:53:43.14ID:iqna8FaP
通常、string と string | null は同等なんでVSCodeのポップアップでも | null は省略されるけど、
これを省略させないで表示する設定ってないのかな。
strictNullChecks 使ったら区別できなくて困った。
0147デフォルトの名無しさん
垢版 |
2018/12/05(水) 08:02:21.96ID:rsg3VEcH
他に困ってる人がいないってことは strictNullChecks 自体あまり使われてないのかな。
0148デフォルトの名無しさん
垢版 |
2018/12/05(水) 09:20:27.07ID:B/THyK2J
strictNullChecksは使ってるけどその困り方がよく分からないから具体的にどういうコードを書こうとした時に何が困るのか教えてくれるとありがたい
0149デフォルトの名無しさん
垢版 |
2018/12/05(水) 14:47:23.52ID:2sSegHBZ
馬鹿には無理
0150デフォルトの名無しさん
垢版 |
2018/12/05(水) 19:58:08.96ID:rsg3VEcH
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 としか表示されないんでこれを区別できるようにしたい。
0152デフォルトの名無しさん
垢版 |
2018/12/05(水) 20:43:39.84ID:kxOqR7S7
* プロジェクトルートにtsconfig.jsonはあるか
* tsconfig.jsonでstrictNullChecks或いはstrictが有効になっているか
* そもそもVSCodeでプロジェクトルートを開いているか
0153デフォルトの名無しさん
垢版 |
2018/12/05(水) 20:51:32.34ID:rsg3VEcH
なるほど、VSCode用のtsconfig.jsonを置いてやればいいってことか。ありがとう。
ビルド用のtsconfig.jsonは別の場所に置いてた。
0154デフォルトの名無しさん
垢版 |
2018/12/05(水) 20:57:46.26ID:kxOqR7S7
そりゃプロジェクトルートに無けりゃどういう原理で探してくるんだって話だ
0155デフォルトの名無しさん
垢版 |
2018/12/05(水) 21:04:20.27ID:rsg3VEcH
じゃなくて、VSCodeがtsconfig.jsonのビルドオプションに合わせて表示を変えているとは想像してなかった。
0156デフォルトの名無しさん
垢版 |
2018/12/05(水) 21:10:24.13ID:kxOqR7S7
そもそもtscもtslintもプロジェクトルートのtsconfig.jsonなりtslint.jsonなり読むんだから・・・・・
0157デフォルトの名無しさん
垢版 |
2018/12/05(水) 21:30:49.29ID:rsg3VEcH
各.tsに対してどのtslint.jsonが使われるかという認識はあったけど、
tslintもtsconfigを見てるのか。なるほど。
■ このスレッドは過去ログ倉庫に格納されています

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