Поздравляют. Теперь у всех объектов есть данное свойство. У чисел, у строк, у других объектов, и тд. И твой код будет кидать ошибку везде, где не получится привести объект к строке. Если хочешь задать такой параметр для строк, так задавай его только для строк, а не для всего.
Object.defineProperty(String.prototype, "reverse", {
get: function() {
return this.split("").reverse().join("");
}
});
И, на мой взгляд, лучше
reverse
объявить методом, а не свойством. Иначе неоднозначно все выглядит.
// Сразу видно, что это метод, который расширяет класс String и что-то там делает.
String.prototype.reverse = function() {
return this.split("").reverse().join("");
};