متدهاي استايك يك كلاس در خود كلاس تعريف ميشوند .نمي توانيد متدي كه با كيورد staticتعريف ميشود ، روي شئ فراخواني كنيد .فقط فراخوان در كلاس است .
مثال ـ متد استاتيك
class Car { constructor(name) { this.name = name; } static hello() { return "Hello!!"; } } const myCar = new Car("Ford"); // You can call 'hello()' on the Car Class: document.getElementById("demo").innerHTML = Car.hello(); // But NOT on a Car Object: // document.getElementById("demo").innerHTML = myCar.hello(); // this will raise an error.
اگر ميخواهيد ازشئmyCar در متداستاتيك استفاده كنيد، مي توانيد آنرا بعنوان پارامترارسال كنيد.
مثال ـ استفاده از متد استاتيك براي شئ، باارسال شئ بصورت پارامترتابع استاتيك
class Car { constructor(name) { this.name = name; } static hello(x) { return "Hello " + x.name; } } const myCar = new Car("Ford"); document.getElementById("demo").innerHTML = Car.hello(myCar);