In the first, you make it explicit that this is a class / struct property, while in the second, it is implicit. There is one big difference: if there is a local variable with the same name (for example, the parameter passed to init), it will take priority and hide the class / struct property.
, self. , , , , , .