Điểm khác biệt giữa Java với JavaScript

Chào mừng các bạn đã trở lại với thachleblog, chuyện là trước giờ mình ghét JavaScript (JS), lý do ghét là vì hổng biết làm, nên đụng tới việc liên quan đến JS là ghét, hehe.

Nhưng dạo này làm server cũng đụng nhiều tới Ajax, Jquery để load data (chắc chắn sẽ có bài về phần này). Thế là quyết tâm đầu tư nghiêm túc hơn để học JS (JS build nên Jquery và Ajax, nắm được JS thì sẽ dễ hiểu được Ajax, Jquery), mà cũng đơn giản là thấy thích thì học thôi 😀 Mấy nay thì cũng đã viết được chút chút JS, cộng với đọc code JS, Jquery, Ajax cũng dễ hơn. Giờ bỗng thấy JS thật hay và power, haha.

Mặc dù không liên quan gì đến nhau, nhưng Java và JS có khá nhiều điểm giống nhau. Do đó bài viết hôm nay mình sẽ phân tích các điểm khác biệt giữa Java với JS. Nếu đã quen với Java và biết được điểm khác biệt này, các bạn sẽ có thể học JavaScript nhanh hơn. Tin mình đi. Nào chúng ta cùng bắt đầu nhé.

diem khac biet giua java voi javascript

  • Đầu tiên về cơ chế: Java run bởi cơ chế biên dịch (compile), JavaScript (JS) run bởi cơ chế thông dịch (interpreted). Cụ thể là để run một chương trình Java, ta phải build các file java thành file class (byte code), khi method có thay đổi, ta cần build lại file. Đối với JS, viết rồi run thôi chứ không cần phải build.
  • Thiết kế: Java là OOP (ngôn ngữ hướng đối tượng), mọi thứ đều là đối tượng (object), để sử dụng một variable hoặc method của Java, trước hết phải tạo class, sau đó truy cập variable, method đó thông qua object được tạo từ class đó. Còn đối với JS, chủ yếu là support functional programming language (tạm dịch là ngôn ngữ lập trình chức năng – mà thấy nó chuối chuối thế nào ấy -.-) ta chỉ việc define variable, mehthod và gọi. Lưu ý là đến phiên bản Java 8, Java đã support functional programming, xem lại bài Lambda Expression tại đây.
  • Run và debug: Để execute Java ta cần Java compiler và ta phải cần IDE như Eclipse, Netbeans, Intelij… để debug Java code. Trong HTML, JS được execute bởi web browser, ta có thể debug JS trực tiếp trên browser bằng cách mở chế độ deverloper tool, xem log JS trên browser ở chế độ console của browser.
  • Variable: dữ liệu Java là static type, JS là dynamic type. Cụ thể là trong Java, để định nghĩa một variable, ta phải định nghĩa cụ thể kiểu dữ liệu cho variable đó:

Ví dụ: int a = 5;

           boolean a = true;

Đối với JS thì ta có thể dùng kiểu var để định nghĩa chung cho tất cả các kiểu dữ liệu. Khi ta gán giá trị cho variable thì mặc định chương trình sẽ gán kiểu dữ liệu cho variable đó.

Ví dụ: var a = 5; // sử dụng a như int

           var a = true; //sử dụng a boolean…

  • Method

Định nghĩa method trong Java: access modifier returntype methodname(params)

Định nghĩa method trong JS: function methodname(params)

  • Object

Tạo object trong Java ta cần class và contructor

Tạo object trong JSta có thể tạo trực tiếp mà không cần định nghĩa cụ thể kiểu dữ liệu cho từng thuộc tính như sau:

var person = {firstName:“Thach”, lastName:“Le”}

Trong Java ta truy cập property của object thông qua phương thức get(), set()… Đối với JS thì mặc định các property là public và ta có thể truy cập trực tiếp bằng cú pháp person.firstName hoặc person[“firstName”].

  • Compare: trong Java ta sử dụng == để so sánh dữ liệu theo value, và phương thức equal() để so sánh dữ liệu theo reference. Trong JS, == dùng để so sánh dữ liệu theo value, === dùng để so sánh dữ liệu theo value và data type.

Còn rất nhiều, thấy hay sẽ cập nhật tiếp….
Kết luận: Mặc dù đảm nhận hai vai trò khác nhau, server – side và client – side trong dự án Java nhưng Java và JS cũng khá giống nhau về operator, loop, array, cách tổ chức logic code…. Hy vọng bài chia sẻ của của mình sẽ giúp các bạn hiểu thêm về Java và JS cũng như có thể học nhanh JS. Hẹn gặp các bạn ở các bài viết sau. Happy learning 🙂

Các bạn có thể học cú pháp của JS tại:
http://www.w3schools.com/js/