hamdi hamdi - 3 months ago 11
Javascript Question

Javascript - How to access method from class to another class?

I want to use Object Oriented Programming technical with Javascript but I didn't access method from class to another class. How can do like the following:

class one{

write(){
console.log("Yes! I did!");
}
}

class two{
var object=new one();

tryingMethod(){
object.write();
}
}


Edit:

error: Uncaught SyntaxError: Unexpected identifier -->> for
var object=new one();


Thanks in advance.

Answer

If it's a static method (doesn't use any instance data), then declare it as a static method and you can directly call it.

If it's an instance method, then you would typically create an object of type one and then call the method on that object (usually in the constructor).

To make the method static (which appears to be fine in your specific case):

class One {
  static write(){
    console.log("Yes! I did!");
  }
}

class Two {
   tryingMethod(){
     One.write();
   }
}

For the non-static case, you don't have the proper syntax. It appears you want to create the instance of the One object in a constructor for Two like this:

class One {
  write(){
    console.log("Yes! I did!");
  }
}

class Two {
   constructor() {
       this.one = new One();
   }

   tryingMethod(){
     this.one.write();
   }
}

var x = new Two();
x.tryingMethod();

Note: I'm also following a common Javascript convention of using an identifier that starts with a capital letter for the class/constructor name such as One instead of one.