js中对象属性和类属性
class Test{
a= 1 // 对象属性
}
Test.a = 10 // 类属性
console.log(Test.a)//10
let obj = new Test() // 对象属性要new()之后才能取得到
console.log(obj.a) // 1
console.log(Test.a,obj.a)
// 10 1
// 这里是不是大家有疑问,不是a已经赋值了10了吗,怎么不是10,10
由此可见js中==对象属性
要想获得就得new
之后才能取得到==,直接获取到的属性值是类属性
,不需要new出来。
es7写法写出来
class Test{
a=1 // 对象属性
static a=10 // 类属性
}
console.log(Test.a) // 10 这里得到的是类属性
let obj = new Test() // 这个是new一个新的对象实例
console.log(obj.a) // 1 这里取的是对象属性
console.log(Test.a,obj.a) // 10 1
Test.a = 99
console.log(Test.a,obj.a)// 99 1
js中对象的类属性和对象属性总结一句话——类属性直接取,对象属性new()后取。