Search This Blog

2023/04/20

Nexting Class Within Class in javascript

 In Javascript we can'not directly next class within class but way to do it is as follows


Using static keyword

class OuterClass {
constructor() {
this.outerProperty = 'Hello from outer class';
this.innerClass = new OuterClass.InnerClass();
}

outerMethod() {
console.log(this.outerProperty);
this.innerClass.innerMethod();
}

static InnerClass = class {
constructor() {
this.innerProperty = 'Hello from inner class';
}

innerMethod() {
console.log(this.innerProperty);
}
}
}

const outerObj = new OuterClass();
outerObj.outerMethod(); // Output: "Hello from outer class" and "Hello from inner class"

Output:
Hello from outer class
Hello from inner class

Without static keyword

class OuterClass {
constructor() {
this.outerProperty = 'Hello from outer class';
this.innerClass = new this.InnerClass()
}
outerMethod() {
console.log(this.outerProperty);
this.innerClass.innerMethod();
}
InnerClass = class {
constructor() {
this.innerProperty = 'Hello from inner class';
}
innerMethod() {
console.log(this.innerProperty);
}
}
}
const outerObj = new OuterClass();
outerObj.outerMethod(); // Output: "Hello from outer class" and "Hello from inner class"

Output:
Hello from outer class
Hello from inner class

No comments:

Post a Comment