前言
今天来带大家研究一下Linux内存管理。对于精通 CURD 的业务同学,内存管理好像离我们很远,但这个知识点虽然冷门(估计很多人学完根本就没机会用上)但绝对是基础中的基础,这就像武侠中的内功修炼,学完之后看不到立竿见影的效果,但对你日后的开发工作是大有裨益的,因为你站的更高了。
再功利点的说,面试的时候不经意间透露你懂这方面知识,并且能说出个一二三来,也许能让面试官对你更有兴趣,离升职加薪,走上人生巅峰又近了一步。
}
}
class Square extends Polygon {
constructor(length) {
super(length, length);
this.name = 'Square';
}
}
[](()重复定义类
====================================================================
重复声明一个类会引起类型错误。
class Foo {};
class Foo {};
// Uncaught TypeError: Identifier 'Foo' has already been declared
若之前使用类表达式定义了一个类,则再次声明这个类同样会引起类型错误。
let Foo = class {};
class Foo {};
// Uncaught TypeError: Identifier 'Foo' has already been declared
[](()属性
=================================================================
通过new出来的实例,访问到的属性,叫做[实例属性]。
console.log(p1.name)
console.log(p1.age)
[静态属性] :通过构造函数,直接访问到的属性,叫做静态属性。
class Animal {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
// 静态属性
Animal.info = "sss";
[](()方法
=================================================================
[](()实例方法
定义:
Animal.prototype.say = function () {
console.log('这是动物的实例方法')
}
[](()类的继承
===================================================================
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
class Chinese extends Person {
}
class America extends Person {
}
const c1 = new Chinese('Java', 18);
const a1 = new America('Edge', 18);
console.log(c1)
console.log(a1)