可変のオブジェクトキーの存在チェックをしたかったのだが
if(requestOptions.headers && !requestOptions.headers['Content-Type'])){
requestOptions.headers = {
...requestOptions.headers,
'Content-Type': 'application/json',
}
}
これだとダメでこんなエラーになる
TS7053: Element implicitly has an 'any' type because expression of type '"Content-Type"' can't be used to index type 'HeadersInit'.
Property 'Content-Type' does not exist on type 'HeadersInit'.
[string, string][] で定義されているので、指定されたキーがあるかないかわからないのでこれはNGらしい。
ということで、この場合は in を使ってチェックする
if(requestOptions.headers && !("Content-Type" in requestOptions.headers)){
requestOptions.headers = {
...requestOptions.headers,
'Content-Type': 'application/json',
}
}