回答編集履歴
1
補足
answer
CHANGED
@@ -9,4 +9,25 @@
|
|
9
9
|
if (isHTMLTextAreaElement($title)) {
|
10
10
|
$title.value = 'test';
|
11
11
|
}
|
12
|
+
```
|
13
|
+
|
14
|
+
---
|
15
|
+
|
16
|
+
think49 さんが書いてくれてますが補足しますと、
|
17
|
+
|
18
|
+
```typescript
|
19
|
+
document.getElementsByClassName('XX').namedItem('Title')
|
20
|
+
```
|
21
|
+
|
22
|
+
で取得した値は `Element` 型で、この型は `value` プロパティを持たないので、
|
23
|
+
`value` プロパティを持つ `HTMLTextAreaElement` 型などとして扱えるように Type Guard を使ってやるわけです。
|
24
|
+
|
25
|
+
このテクニックはイベントを受け取ったときの `event.target` の型確定などにも(個人的には)よく使います。
|
26
|
+
|
27
|
+
```typescript
|
28
|
+
hoge.addEventListener('foo', event => {
|
29
|
+
if (isHTMLTextAreaElement(event.target)) {
|
30
|
+
event.target.value = 'foo';
|
31
|
+
}
|
32
|
+
});
|
12
33
|
```
|