Note that when a property is set to a string value, this can be done without property binding e.g. animation="pulse" - when this syntax is used, Angular always treats whatever is provided in the right-hand side of the equals sign as a string. On the other hand, when using property binding - [animation]="..." the right-hand side is treated as an expression and is evaluated. So animation="false" would result in providing the input "animation" with value the string "false" whereas [animation]="false" will result in providing the input animation with the boolean value false.