The following markup:
<div data-bind="ifnot: someProperty">...</div>
… is equivalent to the following:
<div data-bind="if: !someProperty()">...</div>
… assuming that someProperty is observable and hence you need to invoke it as a function to obtain the current value.
The only reason to use ifnot instead of a negated if is just as a matter of taste: many developers feel that it looks tidier.
© Steven Sanderson, the Knockout.js team, and other contributors
Licensed under the MIT License.