Calling it directly might make it difficult to detect bugs, particularly when we don't trust the data we receive: https://eslint.org/docs/rules/no-prototype-builtins If we trust the data we receive, then IMHO we shouldn't even check for `hasOwnProperty`, since we know what we're going to receive.