您当前的位置:首页 >> 传感器
传感器

前端实习:3 个可能有用JavaScript 类

发布时间:2025-12-11

的 hacky 工具可以实现这一点。

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前端开发

吃冰的就拉肚子
黑龙江男科医院哪家最好
宝鸡白癜风医院哪里最好
昆明白癜风检查哪家医院好
沈阳肛肠治疗费用是多少

上一篇: 有鉴于此历史同期新高,奇瑞控股集团1月终端实销10.77万辆

下一篇: 生意社:3月3日利华益异辛醇报价继续下跌

相关阅读
孩子特别爱发脾气怎么办

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

友情链接