V8 developer is here.
Yes, the first version is, in general, a good practice.
, . , , , - , , , , , .
, , , , Foo "", , .bar . , , JavaScript /, ; , .
:
class Foo() {
constructor() {}
addBar(x) { this.bar = x; }
addBaz(x) { this.baz = x; }
addQux(x) { this.qux = x; }
}
var foo1 = new Foo(); foo1.addBar(1);
var foo2 = new Foo(); foo2.addBaz(10); foo2.addBar(2);
var foo3 = new Foo(); foo3.addQux(100); foo3.addBaz(20); foo3.addBar(3);
function hot_function(foo) {
return foo.bar;
}
hot_function(foo1);
hot_function(foo2);
hot_function(foo3);
, [1], . JavaScript bar . , , , , ,
, undefined, Foo , bar , .
: , addBar() , , ( ), (, , ), ( , ).
, . , , .
, . , . !