হ্যাঁ, প্রথমটিকে একটি static method
বলা হয় class method
, এবং দ্বিতীয়টি হ'ল একটি instance method
।
আরও বিস্তারিতভাবে বুঝতে, নিম্নলিখিত উদাহরণগুলি বিবেচনা করুন।
ES5 এ
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Person.isPerson = function(obj) {
return obj.constructor === Person;
}
Person.prototype.sayHi = function() {
return "Hi " + this.firstName;
}
উপরের কোডে, isPerson
একটি স্ট্যাটিক পদ্ধতি, যখন এটির sayHi
একটি উদাহরণ পদ্ধতি Person
।
নীচে, Person
কনস্ট্রাক্টর থেকে কীভাবে একটি অবজেক্ট তৈরি করা যায় তা হল ।
var aminu = new Person("Aminu", "Abubakar");
স্থির পদ্ধতি ব্যবহার করে isPerson
।
Person.isPerson(aminu); // will return true
উদাহরণ পদ্ধতি ব্যবহার করে sayHi
।
aminu.sayHi(); // will return "Hi Aminu"
ES6 এ
class Person {
constructor(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
static isPerson(obj) {
return obj.constructor === Person;
}
sayHi() {
return `Hi ${this.firstName}`;
}
}
static
স্থির পদ্ধতিটি ঘোষণার জন্য কীওয়ার্ডটি কীভাবে ব্যবহৃত হয়েছিল তা দেখুন isPerson
।
Person
শ্রেণীর একটি অবজেক্ট তৈরি করা ।
const aminu = new Person("Aminu", "Abubakar");
স্থির পদ্ধতি ব্যবহার করে isPerson
।
Person.isPerson(aminu); // will return true
উদাহরণ পদ্ধতি ব্যবহার করে sayHi
।
aminu.sayHi(); // will return "Hi Aminu"
দ্রষ্টব্য: উভয় উদাহরণই মূলত একই, জাভাস্ক্রিপ্ট একটি শ্রেণিবদ্ধ ভাষা হিসাবে রয়ে গেছে। ইএস 6- এ class
প্রবর্তিত হ'ল মূলত বিদ্যমান প্রোটোটাইপ-ভিত্তিক উত্তরাধিকারের মডেলটির চেয়ে একটি সিনট্যাকটিকাল চিনি।