In MVC, 'Model' is just code representation of data (e.g. in ASP.NET MVC it's a class with according fields).
In Knockout however (which employs MVVM), I see that object with fields is called a 'ViewModel'. From official KO documentation:
A model: your application’s stored data. This data represents objects and operations in your business domain (e.g., bank accounts that can perform money transfers) and is independent of any UI. When using KO, you will usually make Ajax calls to some server-side code to read and write this stored model data.
A view model: a pure-code representation of the data and operations on a UI. For example, if you’re implementing a list editor, your view model would be an object holding a list of items, and exposing methods to add and remove items.
From examples, it can be seen that ViewModels are objects with fields, holding the data, what usually'd be done by Model in MVC:
var myViewModel = {
personName: ko.observable('Bob'),
personAge: ko.observable(123)
};
So I'm a little lost here. What exactly 'Model' and 'ViewModel' mean in Knockout.js domain?