What Are JavaScript Programming Paradigms?