E0179: return statement returns nothing (undefined)
A return
statement can have an optional expression. If the expression is
omitted, undefined
is returned.
If a return
statement has an expression, the expression must start on the same
line as the return
keyword. If an expression starts on the next line, the
return
statement behaves as if no expression was given, so the returned
value is undefined
and the next line is skipped:
function getWebsiteBaseURL() {
return
'https://quick-lint-js.com/';
}
// TypeError: URL constructor: undefined is not a valid URL.
console.log(getWebsiteBaseURL().hostname);
To fix this error, put the returned value on the same line as the return
keyword:
function getWebsiteBaseURL() {
return 'https://quick-lint-js.com/';
}
// "quick-lint-js.com"
console.log(getWebsiteBaseURL().hostname);
Introduced in quick-lint-js version 0.7.0.