What's the difference between an "attribute" and a "property"?

Attributes are for HTML, example the value attribute refers to the initial value of an input

Properties are for JS, example the value property refers to the current value

Sometimes attributes and properties have a 1:1 mapping like id