KnockoutJS foreach bindings basically used to repeat html markup according to the number of elements in an observable array . This is very useful for display a list or table format data.
knockoutJS text binding basically used to updates the text such as span or paragraph tags etc. the text binding replaces the default content of the html element with text node having value passed as parameter. If the parameter is observable then make any changes in the value of the parameter it automatically updates the text.
knockoutJS style binding basically used to add custom style to DOM element. Style binding are particularly helpful when you want to change the style of the DOM element such as textbox, Div, table etc. We can add style directly or conditional.
knockoutJS CSS binding basically used to add or remove a css class from an element. CSS binding are particularly helpful when you want to change the style of an element depending on condition.
KnockoutJS Computed Observable is a function which is dependent on one or more Observables and will automatically update whenever its underlying Observables (dependencies) change. Suppose you have firstname and lastname you want to display the fullName then we create fullName computed observables property when user make any changes in firstname or lastname then fullName will update automatically whenever any of these dependencies change.
Knockout provide client-side validation by using extender. It notifying to user when that value changes of input fields (input, textarea, select). The following demo Knockout validation via extender.