They are roughly equivalent. The significant difference is that the initializer in the second example is executed before constructor
.
The second approach uses class fields proposal.
It is not a part of ECMAScript standard yet so you need to set up transpiler properly to use the second approach.
UPD Take a look at Babel output to better understand how public instance fields work.