Я унаследовал код javascript, написанный другим разработчиком. Ему не понравился элемент сетки, который мы использовали во всем проекте, поэтому он решил написать свое. Сетка, которую он написал, не может сортировать даты, потому что она может привязываться только к строкам/цифрам. Он конвертирует все даты в строки перед их использованием. Я посмотрел на строковое форматирование функции даты, которую он написал, и решил, что могу просто добавить свойство даты в строку с исходным значением, а затем при сортировке посмотреть, имеет ли строка свойство даты и сортировка на основе этого. Однако, похоже, вы не можете добавлять свойства к строкам в javascript. Я не знал, что есть определенные типы, к которым нельзя добавить свойства. Например:
<html>
<script>
var test = "test";
test.test = "test inner";
console.log(test);
console.log(test.test);
</script>
test.test будет undefined. Weird. Мой вопрос в том, почему этот код не работает? А также, если вы можете придумать какие-либо обходные пути для сортировки дат на этой сетке (помимо фактической привязки к объектам даты вместо строк, что было бы болью для исправления), это было бы действительно полезно.