I mostly code in PHP and Java, but I will occasionally work on the front end of a project and use JavaScript. I usually create objects differently than below, but I came across this and it caught my interest being that the syntax is similar to what I usually program in.
I was poking around, trying to figure out how to use instance variables in JavaScript classes using the syntax below. I've tried declaring the instance variables by name;
, or _name;
, or var name;
, or all of those previous variables and adding = null;
, but still get errors in my console. The errors are mostly my-file.js:2 Uncaught SyntaxError: Unexpected identifier
. I'm just trying to set my instance variable through my constructor.
How do I use instance variables in JavaScript, using the syntax below?
class MyClass {
var _name;
constructor(name) {
_name = name;
alert("Hello world, from OO JS!");
this.myFunction();
}
myFunction() {
document.getElementById("myElement").addEventListener("click", function() {
console.log("Ant's function runs. Hello!");
});
}
}
window.onload = function() {
var person = "John Smith";
var myClass = new MyClass(person);
}
This is still a proposal and it would look as follows:
class A {
property = "value";
}
BTW, when you want to access a class property (i.e. an own object property) you'll still need to use this.property
:
class A {
property = "value";
constructor() {
console.log(this.property);
}
}
If you want to use this syntax today, you'll need to use a transpiler like Babel.