I've been working in React and Redux for past 2 years but when I was using inheritance in javascript, I found the difference between these 2 type of function declaration in javascript.
I've the class a and a class b which inherits from class a and whenever I'm running the following snippet, it logs out
bfunc called from class a
afunc called from class b
I assume that the syntax bfunc = function(){ puts the function in this and the syntax afunc() { puts the function in the prototype of class but I'm not really sure. Can someone please explain this behaviour?
class a {
afunc() {
console.log('afunc called from class a');
}
bfunc = function() {
console.log('bfunc called from class a');
}
}
class b extends a {
afunc() {
console.log('afunc called from class b');
}
bfunc() {
console.log('bfunc called from class b');
}
}
const bObject = new b();
bObject.bfunc();
bObject.afunc();
bfunc called from class a
afunc called from class b