Certain functions do not change the state of the calling object. If these functions' return values are unused, then the function call could be removed without any effects, indicating a likely bug.
Currently checking the following APIs:
Array.concat()Array.filter()Array.map()Array.slice()Function.bind()Object.create()string.concat()string.normalize()string.padStart()string.padEnd()string.repeat()string.replace() (Check only if the second parameter is non-function.)string.slice()string.split()string.substr()string.substring()string.toLocaleLowerCase()string.toLocaleUpperCase()string.toLowerCase()string.toUpperCase()string.trim()For user defined functions, add a @checkReturnValue JSDoc to mark functions whose return values should be checked. See this example.