JSFiddle - React, Tailwind, and code Playground

JavaScript

function normalize(s) {
	return s.toLowerCase().replace(/[^a-z]/g, "");
}

Object.defineProperty(String.prototype, "isPalindrome", {
	get: function () {
		var rev = this.split("").reverse().join("");
		return normalize(rev) === normalize(this);
	}
});

Object.defineProperty(String.prototype, "isPalindromeAcademic", {
	get: function () {
		var palindrome = true,
		    i, to;
		
		(function() {
			for (i = 0, to = this.length / 2; i < to; ++i) {
				if (this[i] !== this[this.length - i - 1]) {
					palindrome = false;
					break;
				}
			}
		}).call(normalize(this));
		
		return palindrome;
	}
});

console.assert("".isPalindrome, "Complex high-level");