ES6两种静态属性的书写方法

1、这种可以不用实例化对象就能输出。

class Car{

        constructor(){

            

        }

    }

    Car.tool=4

    console.log(Car.tool);//4

2、必须实例化后才能输出。但他们都是挂在类上的静态属性。

class Car{

        constructor(){

            Car.speed=0;

        }

    }

    

    console.log(Car.speed); //undefined;

    new Car();

    console.log(Car.speed);//0

3、静态方法如果不是类表达式的话只有使用static声明。
是类表达式的话可以通过:

const Car1=class Car{

        constructor(){

            Car.a=function(){

                console.log('我是一个静态方法');

            }

            Car.b='我是一个静态属性!';

        }

        static say(){

            console.log('我也是一个静态方法1!');

        }

    }

static不用实例化就可以输出;通过挂在类名上方法添加的必须实例化才行。

原文地址:https://www.cnblogs.com/rickdiculous/p/13676466.html