В исходном коде отладки Knockout v2.1.0:
ko.observable['fn'] = {
"equalityComparer": function valuesArePrimitiveAndEqual(a, b) {
var oldValueIsPrimitive = (a === null) || (typeof(a) in primitiveTypes);
return oldValueIsPrimitive ? (a === b) : false;
}
};
Это кажется мне неинтуитивным, но почему-то Стив Сэндерсон не знал, что это значит. Почему это так? Кажется, что это необязательно вызывает уведомления об изменениях.