super()特性以及export default

本文详细解释了JavaScript中`super()`在子类继承中的作用,包括在constructor中的使用规范,以及如何调用父类方法。同时介绍了export和import在模块导出中的特点,强调了`exportdefault`的使用规则。
摘要由CSDN通过智能技术生成

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);

 感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值