Learn Creative Coding:


            class Particle{}
            class Effect{}
            function animate(){}
        

            class Particle{
                constructor(effect){
                    this.effect = effect;
                }
            }
        
            class Effect{
                constructor(){
                    this.width = canvas.width;
                    this.height = canvas.height;
                    this.particlesArray = [];
                    this.numberOfParticles = 100;
                    this.init();
                }
                init(){
                    for(let i = 0; i < this.numberOfParticles; i++){
                        this.particlesArray.push(new Particle(this));
                    }
                }
            }
        
            function animate(){
                ctx.clearRect(0, 0, canvas.width, canvas.height);
                effect.particlesArray.forEach(particle => {
                    particle.update();
                    particle.draw(ctx);
                });
                requestAnimationFrame(animate);
            }