v-model это просто синтаксический сахар дляЭто что-б новичков не грузить, по факту там гораздо больше "мяса".
изменения отслеживаются в обоих случаяхперечитайте, я говорю о "не отслеживает изменения option", речь не о value.
в варианте с компонентом, select "запоминает" selectedIndex, а без компонента - нет...вопрос "почему?"Это делает сам браузер (или лучше сказать ничего не делает), если изменить текст/значение в option то selectedIndex не меняется, т.е. для select особо ничего не поменялось. Поэтому позиция остается на месте.
В JS нет статической типизацииЗато есть duck-typing
но можно вернуть удобочитаемое сообщение об ошибке) , которое будет понятно пользователю.Да, но не для функции изменения строки. У пользователя вообще не должно быть возможности сменить тип перед этой ф-ей, а значит удобочитаемое будет непонятно,
если самому не проверять тип аргумента, то будет выявлена ошибка
function (d) {
if(!d) throw new Error();
d.foobar();
}
Смысла проверять нет, т.к. оно "проверится" автоматический.
А бумажная литература - в топку, часто устаревает до выхода, куча воды, создано для зарабатывания денег.
Так же очень полезно делать велосипеды, например маленький прототип реакта/ангуляра. Прокачиваются скилсы и становится понятно почему сделано так, а не иначе и где могут быть проблемы и почему.