質問編集履歴
2
インターフェースをTypeScript のスタイルガイドにあわせてコードの改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
IPersonを継承した
|
5
|
+
IPersonを継承したStudentからPersonのオブジェクトを生成したい。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
```TypeScript
|
12
12
|
|
13
|
-
interface
|
13
|
+
interface Person{
|
14
14
|
|
15
15
|
Name: string,
|
16
16
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
interface
|
23
|
+
interface Student extends Person{
|
24
24
|
|
25
25
|
StudentId: string,
|
26
26
|
|
@@ -36,15 +36,15 @@
|
|
36
36
|
|
37
37
|
```TypeScript
|
38
38
|
|
39
|
-
const
|
39
|
+
const student:Student = getStudent() //コピー元 ここからPersonのテンプレートを生成したい
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
-
const personTemplate:
|
43
|
+
const personTemplate:Person = {...Student, Age:16}; //これだとStudentIdまでコピーされてしまう
|
44
44
|
|
45
45
|
|
46
46
|
|
47
|
-
const personTemplate:
|
47
|
+
const personTemplate:Student = {...Student, Age:16};
|
48
48
|
|
49
49
|
delete personTemplate.StudentId; //これだと['delete' 演算子のオペランドはオプションである必要があります。]というエラーメッセージが表示される。
|
50
50
|
|
1
コードの情報の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -36,6 +36,10 @@
|
|
36
36
|
|
37
37
|
```TypeScript
|
38
38
|
|
39
|
+
const Student:IStudent = getStudent() //コピー元 ここからPersonのテンプレートを生成したい
|
40
|
+
|
41
|
+
|
42
|
+
|
39
43
|
const personTemplate:IPerson = {...Student, Age:16}; //これだとStudentIdまでコピーされてしまう
|
40
44
|
|
41
45
|
|