JavaScript là ngôn ngữ lập trình hướng đối tượng (OOP)

Bài viết được sự cho phép của tác giả Trần Hữu Cương

JavaScript là ngôn ngữ lập trình hướng đối tượng (OOP)

JavaScript là ngôn ngữ lập trình hướng đối tượng (OOP) vì nó đáp ứng các tính chất của lập trình hướng đối tượng như:

  • Tính đóng gói (Encapsulation)
  • Tính trừu tượng (Abstraction)
  • Tính kế thừa (Inheritance)
  • Tính đa hình (Polymorphism)

Tuyển lập trình JavaScript các công ty HOT

Có rất nhiều ý kiến cho rằng JavaScript không phải là ngôn ngữ lập trình hướng đối tượng vì nó không có từ khóa class để tạo bản thiết kế đối tượng như các ngôn ngữ lập trình OOP khác (Java, Python, C#…). Tuy nhiên, trong JavaScript ta có thể làm điều tương tự với function

JavaScript là ngôn ngữ lập trình hướng đối tượng (OOP)

Về thừa kế (inheritance) trong JavaScript, tất cả các đối tượng đều thừa kế từ prototype. (protype là thuộc tính đặc biệt mà tất cả các đối tượng đều có. Nó tương tương như trong Java, tất cả các class đều thừa kế class Object. Phần prototype này mình sẽ viết một bài riêng để mọi người hiểu rõ hơn)

  10 câu hỏi javascript để nâng cao trình độ
  10 trình quản lý file hàng đầu trong JavaScript

Tóm lại, JavaScript là một ngôn ngữ lập trình hàm nhưng đồng thời nó cũng là một ngôn ngữ lập trình hướng đối tượng vì nó có đầy đủ các tính chất của ngôn ngữ lập trình hướng đối tượng.

Một số ngôn ngữ wrapper lại JavaScript như TypeScript hay CoffeeScript cung cấp các từ khóa như class , extends sẽ giúp ta thấy rõ hơn tính chất hướng đối tượng của JavaScript. (Các ngôn ngữ này sau khi build chính là JavaScript).

Bài viết gốc được đăng tải tại codecute.com

Có thể bạn quan tâm:

Xem thêm các vị trí JavaScript hấp dẫn trên TopDev