You can simply invoke a REST call to following URL
/_api/lists/getByTitle('ListTitle')/getItemById(1)/AttachmentFiles/getByFileName('filename')
Then check the response to see if file exists or not.
JSOM
function onSuccess(sender, args) {
var item = listItem;
var total = item.get_attachmentFiles().get_count();
if (total > 0) {
console.log(total + " file attachments");
//Attachment exists and no need to re attach
}
}
function onFailure(sender, args) {
//failed
}
var clientContext = SP.ClientContext.get_current();
var list = clientContext.get_web().get_lists().getByTitle("ListTitle");
var listItem = list.getItemById(1);
clientContext.load(listItem);
clientContext.load(listItem.get_attachmentFiles().getByFileName("FileName"));
clientContext.executeQueryAsync(Function.createDelegate(this, onSuccess), Function.createDelegate(this, onFailure));