[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/09 11:00 / Filesize : 267 KB / Number-of Response : 1050
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

TypeScript part3



1 名前:デフォルトの名無しさん [2018/04/26(木) 21:48:23.07 ID:mMDBzDaB.net]
www.typescriptlang.org/

JavaScript that scales.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.

part1
https://peace.5ch.net/test/read.cgi/tech/1349187527/
part2
https://mevius.5ch.net/test/read.cgi/tech/1430386649/

326 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 17:29:52.16 ID:fmefOdth.net]
でまたまにうんこが顔を出す

327 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 19:34:20.09 ID:C/YNNC2j.net]
3.7はなかなか楽しみな機能が盛りだくさん

328 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 22:35:58.20 ID:bp3ervLV.net]
asserts ええな
pipelineオペあくしろよ

329 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 10:29:52.30 ID:Nwlz92FM.net]
Google、モバイル開発環境を加速するFlutter 1.9、プログラミング言語Dart 2.5リリース
https://news.mynavi.jp/article/20190912-893296/

Null安全も開発中だそうだし、そうなったら最強かもしれん
TSあやうし!

330 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 17:24:02.70 ID:uX+yZZQn.net]
ksk

331 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:29:49.45 ID:XUz/FlZ3.net]
>>323
すでにTSはNull安全なんですがそれは

332 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:33:00.75 ID:Q6kUj/r3.net]
TypeScript 3.7 Iteration Plan
ttps://github.com/microsoft/TypeScript/issues/33352

- Optional Chaining
- Nullish Coalescing
- Assertion Signatures
- Recursive Type References
- ECMAScript Private Fields
- Top-Level await

つよい

333 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:50:14.26 ID:SwC6FU08.net]
>>326
Microsoftの本気

334 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 23:08:15.80 ID:XUz/FlZ3.net]
TSあやうし!  (笑)



335 名前:デフォルトの名無しさん [2019/09/29(日) 01:47:49.36 ID:DcYKtIGC.net]
>>326
Recursive Type References
こんなん出来るのか?

再帰はanyで逃げてたわ。

336 名前:デフォルトの名無しさん [2019/10/04(金) 15:53:59.79 ID:JXWhYfPM.net]
ktkr
https://forest.watch.impress.co.jp/docs/news/1210897.html

337 名前:デフォルトの名無しさん [2019/10/04(金) 21:06:33.10 ID:btlbHhjd.net]
>>330
いや、必要なのはパッチじゃなくて、明示的なdeprecatedだろ。

MSは全ての官公庁に対して、blinkのブラウザーを強制させるべき。

ゴミ政治家じゃ無理なので、MSがやれ。

黒船代行料として10兆払っても惜しくない。

338 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 16:12:20.74 ID:GCn9yAhL.net]
Object の OR を自動判別ってできないのかな?
下のURLは、TypeScript Playgroundで書いてみたもの
規制で書き込めなかったから、お手数だが concat して開いてほしい

https://
bit.ly
/30Pw8K3

339 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 16:44:47.50 ID:9GzCvGAT.net]
そういうのは、{ type: 'Succeeded'; result: string }と{ type: 'Failed'; message: string }

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

341 名前:デフォルトの名無しさん mailto:sage [2019/10/06(日) 17:28:21.59 ID:GCn9yAhL.net]
>>333
うおお、できた、ありがとう、感動、感謝、完璧です

342 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 01:40:28.94 ID:5li6ycXf.net]
tsconfig.jsonでソースディレクトリの指定は

"include": [
"src/**/*"
]

と "compilerOptions":{
""rootDir": "./src",

のどっちが正しいのですか?

343 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 07:36:48.39 ID:ldi65x/b.net]
コンパイルできる方


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

344 名前:デフォルトの名無しさん mailto:sage [2019/10/26(土) 16:09:48.89 ID:z1scFH36.net]
もうeslintに移行しても大丈夫かな?



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

346 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 08:31:23.68 ID:EkX1LXXs.net]
Announcing TypeScript 3.7
https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/

347 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 08:52:02.60 ID:sPTvbp9j.net]
 (  ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /


きたか…!!

  ( ゚д゚ ) ガタッ
  .r   ヾ
__l_l / ̄ ̄ ̄/_
  \/    /


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

348 名前:デフォルトの名無しさん [2019/11/06(水) 11:02:39.72 ID:o3tEvZiY.net]
1歩進んで2歩さがる

349 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 14:35:13.79 ID:vk2bSkbm.net]
Microsoft、組み込みデバイスをターゲットとしたTypeScriptの高速サブセット”Static TypeScript”を発表
https://www.infoq.com/jp/news/2019/11/static-typescript-msft-paper/

350 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 15:41:32.87 ID:IHFsmiXW.net]
神ってる

351 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 21:30:00.92 ID:tlySiByz.net]
>さらにSTSは、TypeScriptの型規則からも逸脱している。TypeScriptがクラスに構造的型付け(structural typing)を
>使用するのに対して、Static TypeScriptでは名前的型付け(nominal typing)を使用しているのだ。

TypeScriptの人気にあやかった別言語じゃね?

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

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

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



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

356 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 13:06:34.59 ID:/aIGpl4m.net]
型無し糞言語は死ねだと思え
動的糞言語はいつまでも糞でそのうち糞
糞糞糞

357 名前:デフォルトの名無しさん [2019/11/30(土) 00:23:57.91 ID:/MHIrz97.net]
すみません
今までES5.1を使って来て、これから扱い易いと言われる
TypeScriptを学習しようと思うのですが
逆にTypeScriptの方がJavaScriptより
難易度高いと言う事はありませんでしょうか。

型は値に付く物で変数はそれへの参照、
prototypeはファンクションへの参照格納用プロパティ
Objectは可塑性のある便利な何かという感覚が身についています。

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

359 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 08:52:48.62 ID:5l2Z ]
[ここ壊れてます]

360 名前:f0lZ.net mailto: >>350
型は値に付くというその感覚はそのままでいいよ。TypeScriptはそれに加えて

- それぞれの変数にどんな型の値が入るかコンパイラが調べてくれる
- それぞれの変数にどんな型の値が入ってほしいかプログラマが指定できる
- その両者に食い違いがないかどうかコンパイラがチェックする

というだけ。
[]
[ここ壊れてます]

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

362 名前:350 mailto:sage [2019/12/01(日) 22:23:36.97 ID:THamb1cl.net]
ありがとうございます。
とりあえず tslint を緩めにしてやってみます。

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

364 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 22:44:25.30 ID:sxQF45hm.net]
interface A {
x: string;
}

a: A;

A.xの型(string)を取り出したい場合 typeof A.x じゃダメで typeof a.x ならいけたけど、
aみたいな変数を使わずに typeof A.x 相当のことってできないんだっけ?



365 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 07:17:39 ID:mSvldXoX.net]
A['x']

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

367 名前:デフォルトの名無しさん [2019/12/21(土) 15:23:23.21 ID:BSqycIZI.net]
実践TypeScript - BFFとNext.js&Nuxt.jsの型定義、吉井 健文、2019/6/26

今まで、TS の本は、あまり無かったので買ってみた

入門者用の文法の説明が、130ページしかない。
残りの190ページが、各フレームワークへの対応

本屋で、他の本を見たら、
掌田津耶乃は、Node.js, Vue.js, React, Angular の本を出してるw
山田祥寛も、Vue.jsの本を出した

368 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 15:40:03.75 ID:BpSzdr8P.net]
vueは根本から型が腐ってるから使う必要なし

369 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 19:32:06.97 ID:MnINNRtE.net]
やっぱ React か

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

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

372 名前:359 mailto:sage [2019/12/24(火) 13:53:39.03 ID:3XzgnZW7.net]
実践TypeScript を読んでるけど、TS の細かい挙動の怪しい所が多いから、
その例外的なルールの数を覚えるのが大変。
つまり、ハマる箇所を避けるのが大変

TS を学ぶと、Haxe の偉大さが分かる!
JavaScript のおかしい部分を修正しているから、かなりやりやすい

373 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 21:47:34.41 ID:j2uQerkx.net]
JSに良さなんてあったのか!?びっくりドンキー!

374 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 19:44:33.72 ID:pllwqfHK.net]
3.7でECMA private field 使えないんだな。ガチのprivateはお預けかぁ



375 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 19:55:56.50 ID:Gwa4LI2s.net]
ECMA private fieldの必要性、全く感じないわ

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

377 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 22:59:25 ID:c8jQBH00.net]
tsxにする

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

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

380 名前:デフォルトの名無しさん mailto:sage [2020/01/24(金) 22:27:44.69 ID:gpzJLuFb.net]
そもそも getter にジェネレータ記法はない

381 名前:デフォルトの名無しさん mailto:sage [2020/01/24(金) 23:21:56 ID:pw14qEqb.net]
getterでそんな複雑なことをするんじゃあない・・・

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

383 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 23:10:15 ID:dJSyQnEN.net]
Typescript: Retrieve element type information from array type - Stack Overflow
https://stackoverflow.com/questions/41253310/typescript-retrieve-element-type-information-from-array-type

Creating types from values in array ・ Issue #28046 ・ microsoft/TypeScript
https://github.com/microsoft/TypeScript/issues/28046

keyof for arrays ・ Issue #20965 ・ microsoft/TypeScript
https://github.com/microsoft/TypeScript/issues/20965

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

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



385 名前:デフォルトの名無しさん mailto:sage [2020/03/04(水) 19:31:12 ID:Xkhzo69W.net]
>>376
キツマンなのに誰とでも寝るみたいなん感じか

386 名前:デフォルトの名無しさん mailto:sage [2020/03/05(木) 00:10:09.52 ID:aV1N9imN.net]
型無し言語というジャンルで見ると、一番マシ

387 名前:デフォルトの名無しさん [2020/03/07(土) 19:41:25.48 ID:Gq72B5Zp.net]
https://github.com/microsoft/vscode-textbuffer/blob/master/src/common/position.ts を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 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 20:06:50.29 ID:74qnesAz.net]
メソッドの定義以外の何に見えるのか

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

390 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 10:00:55 ID:Dz/wpeTc.net]
>>203
御社は今どういう状況になってる?

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

392 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 13:39:52 ID:Dz/wpeTc.net]
サンクス

393 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 00:16:42 ID:Rf+yV41A.net]
違い何?

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

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

394 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 00:52:31.86 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 08:03:12 ID:KwYjFqSp.net]
>物知らないか、設計力のないやつ
どうして?

397 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 08:24:49.93 ID:NW9baKp2.net]
>>386
ケツにIとかTを付けるのは設計力の無いやつ

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

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

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

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

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

401 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 18:14:19 ID:Rf+yV41A.net]
>>386
なるほど
ありがと

402 名前:デフォルトの名無しさん [2020/04/26(日) 04:53:02 ID: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 名前:デフォルトの名無しさん [2020/04/26(日) 05:47:15.51 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 20:55:34 ID:Z2ECG7mm.net]
Announcing TypeScript 3.9
https://devblogs.microsoft.com/typescript/announcing-typescript-3-9/



405 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 22:51:12 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 20:28:24.81 ID:eDtMluXf.net]
初学者が今からTypeScriptやるメリットってある?
普段使ってるC#のBlazorが育つまで我慢してそれまではJS使えばいいかなーという気がしてるんだけど

407 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 21:27:13.06 ID:07c/uCSO.net]
・BlazorがTSと同等レベルまで言語・市場が育つことはありえない
・JSに毛の生えた程度の文法でC#と同等以上のタイプセーフの恩恵を受けられる

と思うよ
正直TS始めて

408 名前:からは、JS(特に他人が書いたやつ)は2度と触りたくなくなった []
[ここ壊れてます]

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

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

411 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 22:10:49 ID:ilBeXKNK.net]
素のjsは確かに触りたくなくなったな〜

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

413 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 06:26:49.70 ID:IgsFvSEI.net]
>>402
確かにそうだわ

414 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 09:34:50.89 ID:/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 mailto:sage [2020/05/18(月) 09:35:28.60 ID:/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 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 12:17:36.04 ID:m7E0nRpi.net]
クラス使えるだけで嬉しかった。prototypeとか二度と触りたくない。

417 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 19:57:31 ID:JYXLTsSv.net]
せっかくTypeScript使うのになんでクラス

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

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

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

421 名前:デフォルトの名無しさん mailto:sage [2020/05/20(水) 19:43:48 ID:q4rNYEAk.net]
アーリーアダプタすぎっしょ

422 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 04:29:10 ID: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 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 05:30:32 ID:uIAU+1VL.net]
>getElementById
英語読め



425 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 07:36:15.22 ID:XtQwhE1K.net]
>>412
https://bi□t.ly/2zBJQbZ

こんな感じでいかがでございましょうか?

getElementById の取得結果は、HTMLElement を継承した何かであることは確実だが
より具体的な型であることは if 文などで判定しないとわからないので
(読みやすい)ワンライナーするのは難しいかな

426 名前:デフォルトの名無しさん mailto:sage [2020/05/28(木) 07:37:06.32 ID:XtQwhE1K.net]
リンク先は typescript playground
長すぎて貼れなかった

url中の□を取っ払ってアクセスしてほしい
こっちも短縮url規制で貼れなかった






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<267KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef