Jeśli chcesz sprawdzić, czy pod podanym adresem URL rzeczywiście znajduje się obrazek, możesz podpiąć EventListener'y load oraz error, jeśli wykona się pierwszy, zwrócisz obrazek, a jeśli drugi to zwrócisz false albo zaimplementować obsługę takiego błędu. Z racji tego, że EventListener wykona kod asynchronicznie, możesz skorzystać z Promise, żeby "zwrócić" obiekt gotowego obrazka (jeśli faktycznie będzie pod podaną ścieżką).
var imageSource = 'http://example.com/image.jpg';
new Promise(function(resolve, reject) {
var imageElement = document.createElement('img');
imageElement.addEventListener('load', function() {
resolve(imageElement);
});
imageElement.addEventListener('error', function() {
reject('Coś jest nie tak z tym obrazkiem...');
});
imageElement.src = imageSource;
}).then(function(response) {
/* pod zmienną response masz gotowy obrazek */
}, function(errorMessage) {
/* wyświetli w konsoli error przekazany jako parametr w wywołaniu resolve() */
console.error(errorMessage);
});