ES6的class类

一、实例成员和静态成员

<script type="text/javascript">

           类
		class Star {
			// 实例成员
			uname = '阿飞';
			age = 22;

			// 静态成员
			// 静态属性
			static language = '汉语';
			static sink = '黄皮肤';
			// 静态方法
			static sing () {
				console.log('唱歌');
			};
			static tiao () {
				console.log('跳舞');
			}
		}
        
        实例化对象
		let obj = new Star();

		console.log(obj.language); // uhdefined
        实例化对象不能访问静态成员

        console.log( Star.uname ); // undefined
        class类不能访问实例成员

		console.log( Star.language ); // 汉语
		Star.sing(); // 唱歌


	</script>

静态成员需要前面加上 static 属性,  static 属性 = 值;

二、constructor 构造函数、构造器、构造方法 

创建类时在类的内部有一个特定的方法 constructor ,该方法会在类被实例化时自动被调用,  
常被用于处理一些初始化的操作。

<script type="text/javascript">
		

		class Person {
			constructor (uname, age, sex) {
				this.uname = uname;
				this.age = age;
				this.sex = sex;
				this.head = 1;
				this.legs = 2;
			}

			// 方法
			eat () {
				console.log('eat方法');
			}
			say () {
				console.log('say方法');
			}
		}

		let p = new Person('张飞', 22, '男');
		console.log(p);

控制台打印:
Person {head: 1, legs: 2, eyes: 2, uname: '张三丰', age: 22}
age: 22
eyes: 2
head: 1
legs: 2
uname: "张三丰"
[[Prototype]]: Object
constructor: class Person
say: ƒ say()
[[Prototype]]: Object


		let p2 = new Person('关羽', 23, '男');
		console.log(p2)

控制台打印:
Person {head: 1, legs: 2, eyes: 2, uname: '李寻欢', age: 21}
age: 21
eyes: 2
head: 1
legs: 2
uname: "李寻欢"
[[Prototype]]: Object
constructor: class Person
say: ƒ say()
[[Prototype]]: Object
	</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值