I know properties on classes are getting a look over for the next iteration (last I checked) and I understand javascript is obviously a different language then other oo languages with a different foundation, but I bring this up for it's usage in producing stricter code that reduces errors and is easier to analyze. A vote for this if anybody considered it!

class Test
{

constructor()
{
  this.x=1;
}

func1()
{
  this.y=2;
}

func2()
{
  console.log(this.x+','+this.y);
}
}

var test1=new Test();
test1.func1();
test2.func2(); // outputs 1,2

var test2=new Test();
test2.func(); // outputs 1,undefined

I know classes contents are meant to be in strict mode, and I thinking that only allowing properties to be created in the constructor (or eventually static properties on the class itself) would make a system less prone to the conditions like you see above. Basically, func1() would produce a error when run.

I can see why this type of initialization of properties could be desired, though, especially as it reflect the way it would have worked if you used a function instead of a class.

[>] Brian
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to