http://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/
探検
TypeScript part3
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/04/26(木) 21:48:23.07ID:mMDBzDaB731デフォルトの名無しさん
2020/12/19(土) 23:55:21.82ID:Z1BeWWR+ PWAの定義が今一漠然としてるから、今後はその辺りが進化していくと思われる
で、PWAでない場合はJavaScriptの動作は思いっきり制限されるだろうね
ま、それで良いと思う
で、PWAでない場合はJavaScriptの動作は思いっきり制限されるだろうね
ま、それで良いと思う
732デフォルトの名無しさん
2020/12/20(日) 00:28:55.07ID:qaHDEdvT > わざわざブラウザがサポートすることじゃない
ほんとこれ
なぜわざわざブラウザでなんでもやろうとするのか
IoTなんだから普通にツールとかアプリとかドライバ書けよと
ほんとこれ
なぜわざわざブラウザでなんでもやろうとするのか
IoTなんだから普通にツールとかアプリとかドライバ書けよと
733デフォルトの名無しさん
2020/12/20(日) 00:29:51.25ID:L33Timbq 結局ああいうのって「すげええブラウザでこんなことできた!」
いいたいだけちゃうんか、みたいなのがマジ多い
いいたいだけちゃうんか、みたいなのがマジ多い
734デフォルトの名無しさん
2020/12/20(日) 03:36:56.04ID:BKQi3Qp0 ブラウザが高機能化しすぎてブラウザさえ動作すりゃいい感じになってきてる
最終的にOS=ブラウザまで進化しかねない
最終的にOS=ブラウザまで進化しかねない
735デフォルトの名無しさん
2020/12/20(日) 04:53:54.98ID:gM7i2qLz モバイル用OSがそんなかんじ
アプリを全てサンドボックスで隔離して出来ることを制限
じっくり時間をかけて出来ることを解放してきた
アプリを全てサンドボックスで隔離して出来ることを制限
じっくり時間をかけて出来ることを解放してきた
736蟻人間 ◆T6xkBnTXz7B0
2020/12/21(月) 18:34:44.48ID:Zh4p3jGs Web Workerの話が出たから貼っとこう
https://katahiromz.github.io/xword.js/
https://katahiromz.github.io/xword.js/
737デフォルトの名無しさん
2020/12/21(月) 18:45:09.04ID:cr+QDiZ1 ゴミサイトの宣伝すんなカス
738蟻人間 ◆T6xkBnTXz7B0
2020/12/21(月) 18:49:49.16ID:Zh4p3jGs これPromiseとWeb Workerのマルチスレッドでパズルを生成してる。組み合わせ無限大。しかもInternet Explorerでも動作する。まあ、素人にはひと目では分からんだろうな。
739デフォルトの名無しさん
2020/12/21(月) 19:13:00.25ID:cr+QDiZ1 ゴミサイトの宣伝すんなカス
740デフォルトの名無しさん
2020/12/21(月) 19:15:36.88ID:L7srYJg2 webworkerってjoinみたいなメソッドある?
741蟻人間 ◆T6xkBnTXz7B0
2020/12/21(月) 19:15:42.32ID:Zh4p3jGs 悔しいのお、悔しいのお
743デフォルトの名無しさん
2020/12/21(月) 19:25:34.90ID:ApmhBnYc 「蟻人間」でNGぶっこむだけだろうに…
745デフォルトの名無しさん
2020/12/21(月) 20:32:28.70ID:oIaO1Bbh 最近のCPUってコア数バラバラでかつ非対称なコア載ってるから、6個くらいWorker立ち上げて平等に処理投げるんじゃなくて、20個くらいのWorker立ち上げて非対称でいいから適当に処理投げてあとはOSに良きに計らってもらうとかの方がベターなのかな?
746デフォルトの名無しさん
2020/12/21(月) 20:34:43.73ID:ApmhBnYc navigator.hardwareConcurrency
でコア数取れるぞ
でコア数取れるぞ
748デフォルトの名無しさん
2020/12/21(月) 20:51:02.61ID:oIaO1Bbh749デフォルトの名無しさん
2020/12/21(月) 20:54:25.24ID:+ci58h/H750デフォルトの名無しさん
2020/12/21(月) 22:43:20.76ID:Z91q9rOU752デフォルトの名無しさん
2020/12/26(土) 09:41:16.66ID:3y5CuLti export interface TypeA {
paramters: {
[k: string]: {
// body
}
};
}
こんな型があるとき、上記bodyの部分の型を取り出すことってできますかね?
const f = (k: string, o: ???): TypeA => {
return { parameters: { [k]: o } };
};
こんなことがしたい。
paramters: {
[k: string]: {
// body
}
};
}
こんな型があるとき、上記bodyの部分の型を取り出すことってできますかね?
const f = (k: string, o: ???): TypeA => {
return { parameters: { [k]: o } };
};
こんなことがしたい。
753デフォルトの名無しさん
2020/12/26(土) 10:04:33.59ID:kvlSFYEN ヨーわからんがこうかね
bitどっとly
/3aJV7Hw
ts playground だが短縮URL NGワードになってるからすまんな
bitどっとly
/3aJV7Hw
ts playground だが短縮URL NGワードになってるからすまんな
754デフォルトの名無しさん
2020/12/26(土) 11:06:25.41ID:3y5CuLti そこの type Hage の定義に "extreme" を書かずに済ませたい。
この例だと {extreme:string} という型になる部分が変更されたとしても
type Hage の記述を変えずに済むよう TypeA の定義から取り出す
方法がないかと。
この例だと {extreme:string} という型になる部分が変更されたとしても
type Hage の記述を変えずに済むよう TypeA の定義から取り出す
方法がないかと。
755デフォルトの名無しさん
2020/12/26(土) 11:21:04.03ID:3y5CuLti ありがとう、わかった。
["extreme"] を削れば目的の型になりますね。
["paramters"] を使えばいいことに気付かなかった。
["extreme"] を削れば目的の型になりますね。
["paramters"] を使えばいいことに気付かなかった。
756デフォルトの名無しさん
2020/12/26(土) 12:19:31.06ID:kvlSFYEN |
| また髪の話してる
| 彡⌒ミ
\ (´・ω・,彡⌒ミ
(| |(´・ω・`):::: 感じ悪いよね
(Y /:(| |)::::::
し \:(Y /::
\し´
| また髪の話してる
| 彡⌒ミ
\ (´・ω・,彡⌒ミ
(| |(´・ω・`):::: 感じ悪いよね
(Y /:(| |)::::::
し \:(Y /::
\し´
757デフォルトの名無しさん
2020/12/27(日) 19:16:51.24ID:xvZc4lDU もう一つ教えてください。
typeTypeB =
{
tag: 'a';
/* a のボディ */
} | {
tag: 'b';
/* b のボディ */
};
こんな Tagged union type があるとき、 tag === 'a' の時の型(下記)を
取り出すことはできるでしょうか。
type x = {
tag: 'a';
/* a のボディ */
}
typeTypeB =
{
tag: 'a';
/* a のボディ */
} | {
tag: 'b';
/* b のボディ */
};
こんな Tagged union type があるとき、 tag === 'a' の時の型(下記)を
取り出すことはできるでしょうか。
type x = {
tag: 'a';
/* a のボディ */
}
758デフォルトの名無しさん
2020/12/27(日) 19:33:05.66ID:xvZc4lDU TypeB & { tag: 'a' } でいけた。ありがとう。
759デフォルトの名無しさん
2020/12/27(日) 19:36:45.35ID:MtHOITLb 型に欲情する変態さんは piotrwitek/utility-types でも npm 愛するといいぞ
760デフォルトの名無しさん
2020/12/27(日) 19:42:50.77ID:xvZc4lDU またまた教えてください。
type X = A | B | C | undefined;
この X から undefined を除いた型 (A | B | C) を求めるにはどうしたらいいでしょうか。
type X = A | B | C | undefined;
この X から undefined を除いた型 (A | B | C) を求めるにはどうしたらいいでしょうか。
761デフォルトの名無しさん
2020/12/27(日) 19:45:55.95ID:MtHOITLb762デフォルトの名無しさん
2020/12/27(日) 19:49:30.25ID:86OXbM3T 標準にExcludeあるじゃん
763デフォルトの名無しさん
2020/12/27(日) 19:49:45.20ID:xvZc4lDU ありがとう!
764デフォルトの名無しさん
2020/12/28(月) 00:46:42.66ID:0DUA8XV/765デフォルトの名無しさん
2020/12/28(月) 21:27:29.35ID:wzipnhb8 何に使うんじゃ…
漏れの限られた経験では、
x: (A | B | C | undefined)
が渡ってきたら、
if (x is A) { ... }
else if (x is B) { ... }
else if (x is C) { ... }
else if (x == undefined) { ... }
else {
(エラー)
}
ぐらいしかやることが無いキモス
漏れの限られた経験では、
x: (A | B | C | undefined)
が渡ってきたら、
if (x is A) { ... }
else if (x is B) { ... }
else if (x is C) { ... }
else if (x == undefined) { ... }
else {
(エラー)
}
ぐらいしかやることが無いキモス
766デフォルトの名無しさん
2020/12/28(月) 22:38:22.06ID:f0IE/THC 少し簡略化するけど
type A = { [k: string]: number };
type B = { [k: string]: string };
type C = { [k: string]: boolean };
ここで type X[string] で number | string | boolean を取り出したかったけど
undefined が混じっているとうまくいかなかった。
type A = { [k: string]: number };
type B = { [k: string]: string };
type C = { [k: string]: boolean };
ここで type X[string] で number | string | boolean を取り出したかったけど
undefined が混じっているとうまくいかなかった。
767デフォルトの名無しさん
2021/01/03(日) 19:57:38.08ID:p2o4CIkL typescriptのd.tsファイルについて網羅的に解説されているドキュメントはありますでしょうか
公式は最低限の事しか書かれていなくて。
例えば、test1.d.tsは以下の通りに書いてあって
export type A1 = boolean;
type A2 = boolean;
test2.d.tsは以下の通りに書いてある場合、
type B1 = boolean;
type B2 = boolean;
A2 B2はどっちも「type XX = boolean;」という書き方をしているのに、別のtsファイルで
const x1 : A2 = true; と書くと、Cannot find name A2 とエラーになる(importする必要がある)が
const x2 : B2 = true; と書くと、import無しでもエラーは出ない。
test1.d.ts はexport文があるから「このファイル内の定義は、importをしないと使えない」というようなモードになっているのかなと思うけど、このあたりの挙動について知りたい。
declare module文を使った場合とか、namespaceやらでネストされた場合どうなるのかとか、/// <reference types="xxx" /> と書かれているとどういう扱いになるのか とか
とにかくd.tsファイルの一番細かい仕様が見たい。
公式は最低限の事しか書かれていなくて。
例えば、test1.d.tsは以下の通りに書いてあって
export type A1 = boolean;
type A2 = boolean;
test2.d.tsは以下の通りに書いてある場合、
type B1 = boolean;
type B2 = boolean;
A2 B2はどっちも「type XX = boolean;」という書き方をしているのに、別のtsファイルで
const x1 : A2 = true; と書くと、Cannot find name A2 とエラーになる(importする必要がある)が
const x2 : B2 = true; と書くと、import無しでもエラーは出ない。
test1.d.ts はexport文があるから「このファイル内の定義は、importをしないと使えない」というようなモードになっているのかなと思うけど、このあたりの挙動について知りたい。
declare module文を使った場合とか、namespaceやらでネストされた場合どうなるのかとか、/// <reference types="xxx" /> と書かれているとどういう扱いになるのか とか
とにかくd.tsファイルの一番細かい仕様が見たい。
768デフォルトの名無しさん
2021/01/21(木) 09:27:06.31ID:RZX+x1N+ フロントエンド系の解説動画上げてる 英語話者の Youtuber
イケメン率高すぎじゃね?
イケメンじゃなくても、
リーナスやRMSやバーナーズリーみたいな、ひと目みただけで「変人だわ」って思う人が少ない
どうなってんのよ
お前らもイケメンなの?
イケメン率高すぎじゃね?
イケメンじゃなくても、
リーナスやRMSやバーナーズリーみたいな、ひと目みただけで「変人だわ」って思う人が少ない
どうなってんのよ
お前らもイケメンなの?
769デフォルトの名無しさん
2021/01/21(木) 14:08:52.40ID:eZuTDFAg ちなみにわしは自称福山雅治のイケメンだ
770デフォルトの名無しさん
2021/01/21(木) 14:56:12.52ID:vvq65HmA 俺もよく歩いてると三浦春馬さんやっぱり生きてたんですねって話し掛けられて困るわ
771デフォルトの名無しさん
2021/01/21(木) 19:34:01.03ID:uQRkfyi9 オレもしょっちゅう『二郎さんっ……!』って声を掛けられるから、「おやっ、オレは田宮二郎の生まれ代わりなのかな……?」って思ってたら、坂上二郎さんの生まれ代わりだったわ
772デフォルトの名無しさん
2021/01/21(木) 23:37:32.75ID:vvq65HmA >>771
加齢臭ヤバナイ?
加齢臭ヤバナイ?
773デフォルトの名無しさん
2021/01/21(木) 23:42:06.12ID:HlaAZkkn 加齢臭とかいうレベルでなく今の30代ぐらいならもう何の話してるかもわからんだろうな
774デフォルトの名無しさん
2021/01/22(金) 05:20:07.47ID:8pHZ8D0X TypeScript で、React やったけど、いちいちいちいち型定義めんどすぎな…
相性くそわるなめくじかよ
ビジネスモデルのオブジェクトとかは型定義したいが、
いちいち props のインターフェースとか書いてらんねー
変更があったらいちいちインターフェースも書き換えなきゃいけないし
みんなどうやって使ってるの?
Angular とか他のフレームワークだと TypeScript でのやりやすさ違う?
相性くそわるなめくじかよ
ビジネスモデルのオブジェクトとかは型定義したいが、
いちいち props のインターフェースとか書いてらんねー
変更があったらいちいちインターフェースも書き換えなきゃいけないし
みんなどうやって使ってるの?
Angular とか他のフレームワークだと TypeScript でのやりやすさ違う?
775デフォルトの名無しさん
2021/01/22(金) 05:27:56.87ID:txgEYXZL776デフォルトの名無しさん
2021/01/22(金) 05:29:38.84ID:txgEYXZL777デフォルトの名無しさん
2021/01/22(金) 14:46:40.93ID:AFRlD+KK > 変更があったらいちいちインターフェースも書き換えなきゃいけないし
おまえさんのようなうっかりガイジでも変更忘れがないよう指摘してくれてるというのに
わがままうっかりガイジにランクアップや
おまえさんのようなうっかりガイジでも変更忘れがないよう指摘してくれてるというのに
わがままうっかりガイジにランクアップや
778デフォルトの名無しさん
2021/01/22(金) 17:02:33.24ID:txgEYXZL リファクタリングしない人もいるからね。
(いまもみじかににいるし、
拒否るかも...その人)
(いまもみじかににいるし、
拒否るかも...その人)
779デフォルトの名無しさん
2021/01/25(月) 15:51:22.24ID:mMq6O8/K VSCode の補完で関数シグニチャ確認する時、カオスすぎない?
ライブラリがユニオンやら使いまくってるの多くて、パット見引数が何個あるのかわかりにくいし、
もう少し見やすいポップアアップ表示にならんのかな
ライブラリがユニオンやら使いまくってるの多くて、パット見引数が何個あるのかわかりにくいし、
もう少し見やすいポップアアップ表示にならんのかな
780デフォルトの名無しさん
2021/01/25(月) 18:07:26.17ID:+dPxUq7O781デフォルトの名無しさん
2021/01/25(月) 18:33:23.35ID:AK6f8agf c#以上にカオス…?
782デフォルトの名無しさん
2021/01/25(月) 22:54:08.93ID:+dPxUq7O 何倍も!
型の機能も遥かに高度だ!
型の機能も遥かに高度だ!
783デフォルトの名無しさん
2021/01/25(月) 23:03:58.08ID:+dPxUq7O784デフォルトの名無しさん
2021/01/25(月) 23:14:46.15ID:NBocXyOE JavaScriptというそび糞をまともにするためだ
しゃーない
しゃーない
785デフォルトの名無しさん
2021/01/26(火) 03:28:35.94ID:WX4s+KJB 型を半ば無理矢理付けてるだけで、最終的には型を削除したJavaScriptになる
要するに動的型言語というのは、それだけ豊富な表現力を秘めてると言うことだ
本来はそれと引き換えに実行速度が犠牲になるもんだが、VMのチューニングによりネイティブコードと遜色無いのが凄いところ
要するに動的型言語というのは、それだけ豊富な表現力を秘めてると言うことだ
本来はそれと引き換えに実行速度が犠牲になるもんだが、VMのチューニングによりネイティブコードと遜色無いのが凄いところ
786デフォルトの名無しさん
2021/01/26(火) 04:01:05.59ID:SEH/ccP0 後半まで読み進めると
おおおーー!ってなる。
https://html5experts-jp.cdn.ampproject.org/v/s/html5experts.jp/shumpei-shiraishi/24660/amp/?amp_gsa=1&amp_js_v=a6&usqp=mq331AQHKAFQArABIA%3D%3D#amp_tf=%251%24s%20%E3%82%88%E3%82%8A&aoh=16115828872772&csi=1&referrer=https%3A%2F%2Fwww.google.com&share=https%3A%2F%2Fhtml5experts.jp%2Fshumpei-shiraishi%2F24660%2F
protocol と 可変長型は c#で昔から
待望してた機能だ!
おおおーー!ってなる。
https://html5experts-jp.cdn.ampproject.org/v/s/html5experts.jp/shumpei-shiraishi/24660/amp/?amp_gsa=1&amp_js_v=a6&usqp=mq331AQHKAFQArABIA%3D%3D#amp_tf=%251%24s%20%E3%82%88%E3%82%8A&aoh=16115828872772&csi=1&referrer=https%3A%2F%2Fwww.google.com&share=https%3A%2F%2Fhtml5experts.jp%2Fshumpei-shiraishi%2F24660%2F
protocol と 可変長型は c#で昔から
待望してた機能だ!
787デフォルトの名無しさん
2021/01/26(火) 05:29:01.62ID:pU44oeo6788デフォルトの名無しさん
2021/01/26(火) 05:52:17.01ID:pU44oeo6789デフォルトの名無しさん
2021/01/26(火) 07:02:54.66ID:RzMbHMsq >>786
可変長型もう入ってなかったっけと思ったら3年前の記事か
可変長型もう入ってなかったっけと思ったら3年前の記事か
790デフォルトの名無しさん
2021/02/10(水) 08:45:05.84ID:F9HUbn2D TypeScript の型定義に凝りすぎじゃね?
https://neos21.net/blog/2021/02/09-02.html
アンサー: なぜTypeScriptの型定義に凝るのか
https://qiita.com/uhyo/items/3bc5f951f922804ede51
https://neos21.net/blog/2021/02/09-02.html
アンサー: なぜTypeScriptの型定義に凝るのか
https://qiita.com/uhyo/items/3bc5f951f922804ede51
791デフォルトの名無しさん
2021/02/10(水) 10:21:36.03ID:qX2MPAZ0 サードパーティライブラリの型定義に関しては、
定義書くのめんどくさそうなときは any で通してる
型定義あったほうが便利なのは確かなので、
作業自動化して楽にしてくれるツール出てくるとありがたいなと思ってる
インテリセンスの進化とか
あと、VS Code で、TypeScript の型定義読みにくすぎ、
ドキュメント書いてあること少なすぎ、JavaScript のコードに直接とべねーすぎ(?)
でも、こういうアーキテクチャに関する抽象的な議論って
個々の案件に落とし込まないと本質見えてこないことととか、
そもそも想定する状況が議論する相手と食い違ってることがあるから
GitHub にある具体例でも明示してくれると議論は捗るんじゃないかなと思う
定義書くのめんどくさそうなときは any で通してる
型定義あったほうが便利なのは確かなので、
作業自動化して楽にしてくれるツール出てくるとありがたいなと思ってる
インテリセンスの進化とか
あと、VS Code で、TypeScript の型定義読みにくすぎ、
ドキュメント書いてあること少なすぎ、JavaScript のコードに直接とべねーすぎ(?)
でも、こういうアーキテクチャに関する抽象的な議論って
個々の案件に落とし込まないと本質見えてこないことととか、
そもそも想定する状況が議論する相手と食い違ってることがあるから
GitHub にある具体例でも明示してくれると議論は捗るんじゃないかなと思う
792デフォルトの名無しさん
2021/02/10(水) 12:42:09.82ID:vAMcyE+N 弊社は障害者雇用枠しかいないのでPHPしか書けません並の駄文書いてる奴って
生きてて恥ずかしくないのかなって思っちゃう、ごめんね
生きてて恥ずかしくないのかなって思っちゃう、ごめんね
793デフォルトの名無しさん
2021/02/10(水) 14:59:14.96ID:J3IrN4Ey >>790
この人有名人なの?
個人ブログに対する反応としては量が多くて驚く
アンサーのほうは避けられない複雑性を
”複雑な型”で表現した場合としない場合のトレードオフについては
“消えてしまうことは無い”で濁してるだけで正面から回答してないよね
最初のブログの人も感覚的な話だからどっこいどっこいだけど
↓こういうのは頑張りすぎじゃねって感じる
type ArrayOfLengthRec<Num, Elm, T extends unknown[]> = T["length"] extends Num ? T : ArrayOfLengthRec<Num, Elm, [Elm, ...T]>
この人有名人なの?
個人ブログに対する反応としては量が多くて驚く
アンサーのほうは避けられない複雑性を
”複雑な型”で表現した場合としない場合のトレードオフについては
“消えてしまうことは無い”で濁してるだけで正面から回答してないよね
最初のブログの人も感覚的な話だからどっこいどっこいだけど
↓こういうのは頑張りすぎじゃねって感じる
type ArrayOfLengthRec<Num, Elm, T extends unknown[]> = T["length"] extends Num ? T : ArrayOfLengthRec<Num, Elm, [Elm, ...T]>
794デフォルトの名無しさん
2021/02/11(木) 02:00:22.02ID:jkz/J9rH まぁでも型定義するの楽しいからね
パズルみたいで
夢中になっちゃうのは分かる
パズルみたいで
夢中になっちゃうのは分かる
795デフォルトの名無しさん
2021/02/11(木) 12:28:55.00ID:IWbE3xWm796デフォルトの名無しさん
2021/02/11(木) 12:32:46.43ID:89K1HM4Z 初心者のうちは考えなくて良いんだよ。
わけ解らなくてもコード補完してくれる位
思ってれば良い。
わけ解らなくてもコード補完してくれる位
思ってれば良い。
797デフォルトの名無しさん
2021/02/11(木) 19:55:55.18ID:yR+7bkmQ コード補完力・エラー発見力を高めるために型書いてる感はある
JavaとかGoの型を”書かねばならない”という強制感がないんだよな
JavaとかGoの型を”書かねばならない”という強制感がないんだよな
798デフォルトの名無しさん
2021/02/11(木) 21:33:21.20ID:jkz/J9rH コード補完はすごいメリットだよね
あと型定義通ってると書いてて安心するし
あと型定義通ってると書いてて安心するし
799デフォルトの名無しさん
2021/02/11(木) 23:22:56.80ID:89K1HM4Z メリットの一番下は
リファクタリング耐性でしょ。
リファクタリング耐性でしょ。
800デフォルトの名無しさん
2021/02/11(木) 23:23:35.04ID:89K1HM4Z メリットの一番は
リファクタリング耐性でしょ。
リファクタリング耐性でしょ。
801デフォルトの名無しさん
2021/02/15(月) 14:41:09.07ID:7BVeLT+X クラスの中で、毎回 this. っての書かなきゃいけないの面倒くさくない…?
忘れるし
Java 並感
忘れるし
Java 並感
802デフォルトの名無しさん
2021/02/15(月) 14:44:23.78ID:7BVeLT+X803デフォルトの名無しさん
2021/02/15(月) 15:26:58.09ID:RViaNkw8 javascriptのthisのややこしさ知ってて言ってる?
804デフォルトの名無しさん
2021/02/15(月) 20:44:05.34ID:fEx2IVhT >>802
JS使いは誰もそう思わないと思うよ
そこでも最初から否定されてるし、その通りだよ
thisを省略可能なのは各メソッドにクロージャがない言語だけだよ
JSはそうではないから、余計に分かりにくくなるだけ
JS使いは誰もそう思わないと思うよ
そこでも最初から否定されてるし、その通りだよ
thisを省略可能なのは各メソッドにクロージャがない言語だけだよ
JSはそうではないから、余計に分かりにくくなるだけ
805デフォルトの名無しさん
2021/02/15(月) 21:56:58.17ID:ZXLSNxbk this省略が欲しいなんて1度も思ったことないわ
レガシーなJavaプロジェクトで、クソデカclass相手にした時は eclipse で this 強制せんとやってられんかった
で、Javaならローカル変数とクラス変数の違いが見分けられないだけだが
JavaScriptはただのfunctionもある
アホがJavaScriptでthisの省略悪用したら、簡単に地獄の蓋が開いて中から飛び出たイエスファッキンキリストに脳までファックされる未来が見えるね
レガシーなJavaプロジェクトで、クソデカclass相手にした時は eclipse で this 強制せんとやってられんかった
で、Javaならローカル変数とクラス変数の違いが見分けられないだけだが
JavaScriptはただのfunctionもある
アホがJavaScriptでthisの省略悪用したら、簡単に地獄の蓋が開いて中から飛び出たイエスファッキンキリストに脳までファックされる未来が見えるね
806デフォルトの名無しさん
2021/02/15(月) 21:58:12.78ID:ZXLSNxbk つかしばらくclassもthisも書いた記憶ねえわ
POJOと参照透過なarrow functionがあればそれでいい
POJOと参照透過なarrow functionがあればそれでいい
807デフォルトの名無しさん
2021/02/15(月) 22:03:00.31ID:ptBzJrEw tsやってるとclassいらないよね
808デフォルトの名無しさん
2021/02/16(火) 00:04:28.67ID:FwQskT4w 個人的にはオブジェクトが副作用を持つ(と明示したい)ときは使うかな。
あとErrorを継承とか継承以外にスマートな方法が無いときも使う。
出番はそんなに多くないけども
あとErrorを継承とか継承以外にスマートな方法が無いときも使う。
出番はそんなに多くないけども
809デフォルトの名無しさん
2021/02/24(水) 20:43:58.73ID:+f/VsSol Announcing TypeScript 4.2
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
810デフォルトの名無しさん
2021/02/25(木) 08:15:48.96ID:e2KFXpDq [TypeScript のテストを Jest (ts-jest) でやってみる - Qiita](https://qiita.com/mangano-ito/items/99dedf88d972e7e631b7)
これ参考にjestでテストしたのですが、ts-jest使うと、テスト時にts-jestが内部的にトランスパイルすrので、JavaScriptコードがファイルとして生成保存されないから
テストするたびに、前のテストから変更されてないソースもいちいち全てトランスパイルしてるのですか?
それともjsファイルが生成されてれば、それを利用してくれるのですか?
これ参考にjestでテストしたのですが、ts-jest使うと、テスト時にts-jestが内部的にトランスパイルすrので、JavaScriptコードがファイルとして生成保存されないから
テストするたびに、前のテストから変更されてないソースもいちいち全てトランスパイルしてるのですか?
それともjsファイルが生成されてれば、それを利用してくれるのですか?
811デフォルトの名無しさん
2021/02/25(木) 20:47:42.47ID:pFknXJZi https://kulshekhar.github.io/ts-jest/docs/processing
キャッシュしてると思います
キャッシュしてると思います
812デフォルトの名無しさん
2021/02/26(金) 07:59:54.83ID:TBWzJJJb >>811
ありがとう!
その図みても自分じゃ難しくてよくわからんが、確かにキャッシュ使ってるみたいだね。
思ったより複雑にいろいろしてるみたいだから、やっぱり自分が心配するような事は考慮済みだね、当たり前か。
ありがとう!
その図みても自分じゃ難しくてよくわからんが、確かにキャッシュ使ってるみたいだね。
思ったより複雑にいろいろしてるみたいだから、やっぱり自分が心配するような事は考慮済みだね、当たり前か。
813デフォルトの名無しさん
2021/03/04(木) 12:38:42.72ID:GxKFsRrm Flutter2 とともに Dart にnull安全がやって来たなあ
ちょっと勉強してみようかな
ちょっと勉強してみようかな
814デフォルトの名無しさん
2021/03/04(木) 12:47:27.36ID:xAXt6OPO Dartのことゴミだと思ってるけど
聳え立つクソof真のゴミofゴミstoryboard & xcodeをやるくらいなら、Dartで首吊った方がマシなのかもしれん
聳え立つクソof真のゴミofゴミstoryboard & xcodeをやるくらいなら、Dartで首吊った方がマシなのかもしれん
815デフォルトの名無しさん
2021/03/05(金) 14:31:03.60ID:lXK+Zrlg >>813
やっときたか!
やっときたか!
816デフォルトの名無しさん
2021/05/18(火) 11:15:17.98ID:+3nwuGsr TypeScript勉強してたらオブジェクトの配列とか出てきて型の使い方が全くわからなかった。
817デフォルトの名無しさん
2021/05/18(火) 11:53:25.44ID:+3nwuGsr type user2 = {
id: number;
name: string;
}[];
let test2: user2 = { id: 1, name: "大谷" };
console.log(test2);
---
type user2のオブジェクトをオブジェクトの配列にしたけど、これを利用するのはどうすればいいの?
id: number;
name: string;
}[];
let test2: user2 = { id: 1, name: "大谷" };
console.log(test2);
---
type user2のオブジェクトをオブジェクトの配列にしたけど、これを利用するのはどうすればいいの?
818デフォルトの名無しさん
2021/05/21(金) 21:43:57.64ID:EtVgB+aP いきなり間違ってる
819デフォルトの名無しさん
2021/05/25(火) 20:07:54.63ID:wb9iQvXr eslintのno-unsafe-member-accessチェックを有効にするために怪しいanyは全部タイプガードを通して
使うようにしようと思ったんだが、タイプガードの中でメンバーチェックするところがno-unsafe-member-accessに
引っかかってしまう。
詰んでる?
interface TypeA {
member_a: string;
}
functin isTypeA(a: any): a is TypeA {
if (typeof a !== 'object') return false;
if (!('member_a' in a)) return false;
if (typeof a.member_a !== 'string) return false; // Unsafe member access .member_a on an any value.
return true;
}
使うようにしようと思ったんだが、タイプガードの中でメンバーチェックするところがno-unsafe-member-accessに
引っかかってしまう。
詰んでる?
interface TypeA {
member_a: string;
}
functin isTypeA(a: any): a is TypeA {
if (typeof a !== 'object') return false;
if (!('member_a' in a)) return false;
if (typeof a.member_a !== 'string) return false; // Unsafe member access .member_a on an any value.
return true;
}
820デフォルトの名無しさん
2021/05/27(木) 07:58:04.71ID:ac9nW6BB Announcing TypeScript 4.3
https://devblogs.microsoft.com/typescript/announcing-typescript-4-3/
https://devblogs.microsoft.com/typescript/announcing-typescript-4-3/
821デフォルトの名無しさん
2021/05/28(金) 20:33:33.18ID:xubVQEL1 #privateは使っていくべきなの?
822デフォルトの名無しさん
2021/05/31(月) 20:57:24.94ID:N+Q3MCtj プログラミング言語「TypeScript 4.3」をMicrosoftが公開
https://www.atmarkit.co.jp/ait/articles/2105/31/news119.html
https://www.atmarkit.co.jp/ait/articles/2105/31/news119.html
823デフォルトの名無しさん
2021/06/07(月) 08:54:45.48ID:T37bbYD1 「型がないと開発できない」
「型がないと開発できないっていうのは無能」
↓翻訳
「うんこって汚い」
「うんこは汚いと思ってるやつは無能」
↓翻訳
「バーカ」
「アーホ」
「型がないと開発できないっていうのは無能」
↓翻訳
「うんこって汚い」
「うんこは汚いと思ってるやつは無能」
↓翻訳
「バーカ」
「アーホ」
824デフォルトの名無しさん
2021/06/07(月) 11:20:40.98ID:f9HfMVYo825デフォルトの名無しさん
2021/06/13(日) 17:37:59.04ID:1VszOIAC GoとかRustみたいにenumとかtypeに直接メソッド生やしたい...
826デフォルトの名無しさん
2021/06/13(日) 19:26:58.74ID:exUpBE38 >typeに直接メソッド生やしたい.
いまいちどういうことをやりたいのかわからないが、classじゃなくてtypeじゃないとダメなの?
いまいちどういうことをやりたいのかわからないが、classじゃなくてtypeじゃないとダメなの?
827デフォルトの名無しさん
2021/06/13(日) 20:26:40.60ID:1VszOIAC ↓みたいなADTっぽいことやる時とか直接メソッド生やせないと不便じゃない?
ttps://typescript-jp.gitbook.io/deep-dive/type-system/discriminated-unions
ttps://typescript-jp.gitbook.io/deep-dive/type-system/discriminated-unions
828デフォルトの名無しさん
2021/06/13(日) 21:44:24.86ID:exUpBE38 typeに関数型のメンバを追加すりゃいい話じゃなくて?
「typeに直接」ってのが何を言っているのかよくわqからん。
「typeに直接」ってのが何を言っているのかよくわqからん。
829デフォルトの名無しさん
2021/06/13(日) 22:03:52.22ID:SDaJf1m8 GoやRustを触ったことがあれば分かるけど, クラスではなくあくまでデータ構造(struct)を定義して, Goではレシーバ付きの関数, Rustではimplでデータ構造に対して操作を定義していく
C#だと定義済みのクラスに拡張メソッドでメソッド追加したり
素のJavaScriptならprototypeにメソッド追加する, みたいな
で, TypeScriptだと今は出来ないと思うけど, 需要はありそうだし, RFCとか出されてない?
構文的にJavaScriptと互換にやるのが難しいかな?
C#だと定義済みのクラスに拡張メソッドでメソッド追加したり
素のJavaScriptならprototypeにメソッド追加する, みたいな
で, TypeScriptだと今は出来ないと思うけど, 需要はありそうだし, RFCとか出されてない?
構文的にJavaScriptと互換にやるのが難しいかな?
830デフォルトの名無しさん
2021/06/13(日) 22:17:00.33ID:SDaJf1m8 既存の構文で出来るらしい
https://medium.com/my-coding-life/extension-method-in-typescript-66d801488589
C#のような新規の構文サポートは実装しない方針
https://github.com/microsoft/TypeScript/issues/563#issuecomment-291300044
https://medium.com/my-coding-life/extension-method-in-typescript-66d801488589
C#のような新規の構文サポートは実装しない方針
https://github.com/microsoft/TypeScript/issues/563#issuecomment-291300044
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
