super()特性在extends继承中
1.子类 constructor 方法中必须有 super ,且必须出现在 this 之前 | |
2.调用父类构造函数,只能出现在子类的constructor构造函数 | |
3.调用父类方法, super 作为对象,在普通方法中,指向父类的prototype原型对象, |
在子类静态方法中拿取父类静态方法的值,在静态方法中,指向父类
class Father {
constructor(){
this.a = 10;
}
test(){
return 99;
}
static test1(){
return 100;
}
}
class Child2 extends Father {
// constructor(){
// super();
// console.log(this.test());
// }
// static test3(){
// return super.test1()+2;
// }
// }
// console.log(Child2.test3());
// class myClass extends Father{
// constructor(){
// super();
// // console.log(super.test());
// // console.log(this.test());
// }
// static sing(){
// console.log(this.test1());
// }
// }
// myClass.sing();
// let myclass = new myClass();
// class Child extends Father {
// constructor(){
// super();
// }
// }
// let child = new Child();
// console.log(child);
// console.log(child.test());
// class Child1 extends Father {
// constructor(){
// super();
// }
// }
// let child1 = new Child1();
// console.log(child.prototype==child1.prototype);
// let obj1 = {
// name:"zs"
// }
// let obj2 = {
// age:20
// }
// Object.setPrototypeOf(obj1,obj2)
// obj1.__proto__.ids = 99;
// console.log(obj1);
var Father = {
name:"ls",
age:10
}
class Child{}
Object.setPrototypeOf(Child.prototype, Father);
let aa = new Child();
console.log(aa.name);
console.log(aa.age);
export default:
1.在一个文件或模块中,export、import 可以有多个,export default 仅有一个。 | |
2.export default 中的 default 是对应的导出接口变量。 | |
3.通过 export 方式导出,在导入时要加{ },export default 则不需要。 | |
4.export default 向外暴露的成员,可以使用任意变量来接收。 |
import a from "./day27.js";
import {myfunc,aa} from "./day27.js";
export { myfunc } from "./day27.js";
console.log(myfunc);
console.log(aa);
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!