Angular を勉強中のとある学生から質問をもらった。いい質問だったので将来同じことを疑問に思う人のためにも書き残しておこうと思う。 なぜプロパティバインディングと属性バインディングは分かれているのか「属性は HTML タグに付与する情報で、プロパティは DOM 要素に紐づくものだということはわかっているけど、データバインディングにおいてこれを区別する必要がなぜあるのか?」という質問をもらった。 これに対して、要約すると「対応するプロパティがない属性や、属性とプロパティで名前が異なる場合があり、そういうときに属性バインディングでしかバインディングできないから」というように答えた。 公式ドキュメントでは 属性、クラス、スタイルのバインディングに記載がある。 https://angular.jp/guide/attribute-binding プロパティバインディングと属性バインディングプロ