JavaScript has strong support for object-oriented programming, but it uses a different inheritance model (prototypical) compared to most popular OO languages (which use classical inheritance). It also supports procedural and functional programming styles.