回答編集履歴

2

粘りました

2020/12/25 10:36

投稿

A_kirisaki
A_kirisaki

スコア2853

test CHANGED
@@ -21,3 +21,29 @@
21
21
  型の上では弾けるようになりましたね。
22
22
 
23
23
  [demo](https://www.typescriptlang.org/play?#code/MYewdgzgLgBAZiEMC8MAUA3AhgGwK4CmAXHmACYFwCWYBZAlCgHwwDeAUDDAE4FR7cwMbPgLsAvu3YIQaegG4gA)
24
+
25
+
26
+
27
+ ### 追記 2
28
+
29
+
30
+
31
+ ```TypeScript
32
+
33
+
34
+
35
+ const foo = (x: undefined) => {
36
+
37
+ return x
38
+
39
+ }
40
+
41
+
42
+
43
+ foo() // compile error
44
+
45
+ foo(undefined)
46
+
47
+ ```
48
+
49
+ 全く使い物になりませんが `undefined` を取らなければいけない関数はできましたね。型レベルでどうにかこうにかできないか Conditional Types やら持ち出して粘ってみたんですが、実行時に型情報を取得する手段が乏しく上記の判断は難しいのではという判断に至りました。悔しい!

1

デモ追加

2020/12/25 10:36

投稿

A_kirisaki
A_kirisaki

スコア2853

test CHANGED
@@ -1 +1,23 @@
1
1
  TypeScriptじゃ……ダメ?
2
+
3
+
4
+
5
+ ### 追記
6
+
7
+ ```TypeScript
8
+
9
+ const foo = (value:undefined) => {
10
+
11
+ return value
12
+
13
+ }
14
+
15
+
16
+
17
+ foo() // compile error
18
+
19
+ ```
20
+
21
+ 型の上では弾けるようになりましたね。
22
+
23
+ [demo](https://www.typescriptlang.org/play?#code/MYewdgzgLgBAZiEMC8MAUA3AhgGwK4CmAXHmACYFwCWYBZAlCgHwwDeAUDDAE4FR7cwMbPgLsAvu3YIQaegG4gA)