前端实习:3 个可能有用JavaScript 类
发布时间:2025-12-11
classCar {
make ='';
model ='';
doorsCount =4;
wheelsCount =4;
constructor(make, model) {
this.make = make;
this.model = model;
}
}
classBMWextendsCar {
constructor(model) {
super('bmw', model);
this.model = model;
}
}
const bmwM3 =new Car('bmw','m3');
我们可以借助于从类回到值实质上访问期间类回到值旧名的事实。
classCar {
make ='';
model ='';
doorsCount =4;
wheelsCount =4;
constructor(make, model) {
this.make = make;
this.model = model;
console.log(this.constructor.name)
}
}
const bmwM3 = new Car('bmw','m3');
回到值旧名将始终是您用于进行最简单立体化的类,这也就是说我们可以运用于它来了解到类是构建还是最简单立体化。
classCar {
make ='';
model ='';
doorsCount =4;
wheelsCount =4;
constructor(make, model) {
this.make = make;
this.model = model;
if(this.constructor.name ==='Car') {
thrownewError(
'Car class is abstract. It can only be extended'
}
}
}
classBMWextendsCar {
constructor(model) {
super('bmw', model);
this.model = model;
}
}
const bmwM1 =new BMW('m1');// works!!
const bmwM3 =new Car('bmw','m3');// Throws
因此,如果回到值旧名与您安全检查它的类匹配,则必要最简单立体化该类。否则,它会被构建它的类最简单立体化。就像这样,你可以创始勉强构建的类,这相当适合创始局部变量。
3 、运营时的多个类构建(mixins)
在 OOP 中所,您可以使一个类构建另一个类,并且您必需在代码执行以后这样想要到。对于一些相当具体的问题,我在代码中所一直在揭示的一件事是在运营时构建类的想要法。为了向你解释我的意思,我想要让你想要象你打算玩到一个游戏并且你有一个 Person 类来代表你的角色。让我们运用于像这样简单的从前。
classPerson {
#name;
#dob;
constructor(name, dob) {
this.#name = name;
this.#dob = new Date(dob)
}
getname() {
returnthis.#name;
}
getage() {
return (new Date().getFullYear() -this.#dob.getFullYear())
}
}
const johnDoe =new Person('John Doe','09/12/1990');
johnDoe.age;// 32
johnDoe.name;// 'John Doe'
假设在整个游戏每一次中所,这个人被 AWS 聘的软件工程师。 我们可以运用于回到值为此创始一个新功能。
functionEmployee(company, startingDate, title) {
this.occupation = {
company,
startingDate:newDate(startingDate),
title,
}
this.quit =() => {
deletethis.occupation;
deletethis.quit;
}
}
为了给我们的用户这种能力也,我们可以像这样在运营时构建它:
Employee.call(johnDoe,'AWS','02/05/2020','software engineer');
有了这个,我们现在可以获得职业财产和辞职的能力也。
johnDoe.occupation;
// {company:'AWS',startingDate: Wed Feb05202000:00:00 GMT-0500 (Eastern Standard Time),title:'software engineer'}
johnDoe.quit();
johnDoe.occupation;// undefined
johnDoe.quit;// undefined
当然,这只是彻底解决此类问题的一种工具,我们也可以尝试图形界面模式。 我想要所述的是用多个从前构建一个类的能力也。这也是实现 mixin 的一种工具,从局部变量开始并在运营时或先构建它。这只不过是在 JavaScript 中所带入类以后我们用来构建类的方式则。 该类只是回到值和原形社会活动的构词糖。 上面类可以构建回到值。
classPersonextendsEmployee {
#name;
#dob;
constructor(name, dob, company, startingDate, title) {
super(company, startingDate, title);
this.#name = name;
this.#dob = new Date(dob)
}
getname() {
returnthis.#name;
}
getage() {
return (new Date().getFullYear() -this.#dob.getFullYear())
}
}
上头是一样的,但它必需在代码运营以后另设,并且需要 Person 类接受越来越多参数。 mixin 方式则允许您将代码复建包含越来越小的回到值,这些回到值可以处理除此以外所有者资料在内的所有逻辑。 这允许您在代码运营时构建您的类最简单。
文章举例来说:web前端开发
。吃冰的就拉肚子黑龙江男科医院哪家最好
宝鸡白癜风医院哪里最好
昆明白癜风检查哪家医院好
沈阳肛肠治疗费用是多少

-
孩子特别爱发脾气怎么办
孩子特别爱发脾气怎么办随着社会的发展,许多家长的工作压力越来越大,孩子在日常生活中他们的世界里缺乏了父母的关怀,不再有一个完整的家庭来充实他们的成长,孩子们开始发脾气存在,成为了家长们必须面对的困扰。