回答編集履歴

1

補足

2018/05/23 15:09

投稿

yhg
yhg

スコア2161

test CHANGED
@@ -21,3 +21,45 @@
21
21
  }
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ ---
28
+
29
+
30
+
31
+ think49 さんが書いてくれてますが補足しますと、
32
+
33
+
34
+
35
+ ```typescript
36
+
37
+ document.getElementsByClassName('XX').namedItem('Title')
38
+
39
+ ```
40
+
41
+
42
+
43
+ で取得した値は `Element` 型で、この型は `value` プロパティを持たないので、
44
+
45
+ `value` プロパティを持つ `HTMLTextAreaElement` 型などとして扱えるように Type Guard を使ってやるわけです。
46
+
47
+
48
+
49
+ このテクニックはイベントを受け取ったときの `event.target` の型確定などにも(個人的には)よく使います。
50
+
51
+
52
+
53
+ ```typescript
54
+
55
+ hoge.addEventListener('foo', event => {
56
+
57
+ if (isHTMLTextAreaElement(event.target)) {
58
+
59
+ event.target.value = 'foo';
60
+
61
+ }
62
+
63
+ });
64
+
65
+ ```