No they are not the same. Arrow functions are automatically bound to the context where they are created.
That means that
(x) => this.stuff = x
is (mostly) equivalent to:
(function(x) {
return this.stuff = x;
}.bind(this))
Arrow functions will also preserve the arguments, super and new.target of the function inside which it is created.
Which means
(function a() {
const u = () => console.log(arguments);
u("whatever");
})("a args");
will print something like ["a args"].
See here for more information.