It should be pretty simple:
if(err.headers != null) {
return error.headers.get('content-type') || defaultContentType;
} else {
return defaultContentType; // or whatever
}
You could also put that in your hasHeaders
code, however, the typescript compiler may or may not still throw that warning.
A couple more details about checking for nulls though:
Checking values via their 'truthy' value
You can just check if the value is "truthy", i.e. it is not null
, undefined
, 0
, false
, or ''
by using the value as a boolean, i.e. if (value) { /* do something */ }
or return value || defaultValue
or return value ? value : defaultValue
, etc.
In this way you can do something like this:
return error.headers ?
(error.headers.get('content-type') || defaultContentType) :
defaultContentType /* or whatever */;
Though that can be a little messy if your variable names are long.
Using identify vs equality checks
Some people prefer to use ===
(and !==
) (identity) instead of ==
(and !=
) (equality), because ===
is a stricter check; however, null == undefined
is equal to true, whereas null === undefined
is equal to false, so use the correct one in the correct place!