JavaScript và những khái niệm cần nắm vững - Phần 1
Bạn có muốn làm quen với ngôn ngữ lập trình JavaScript? Bạn có đang gặp rắc rối với việc học ngôn ngữ này? Đừng lo, cứ bắt đầu và từ từ cho đến khi bạn cảm thấy lập trình bằng JavaScript chính là điều mà bạn yêu thích.
Ở bài viết đầu tiên của series này, chúng ta sẽ cùng tìm hiểu một cách sơ lược về JavaScript và cách hoạt động của ngôn ngữ này nhé!
JavaScipt là gì?
JavaScript là một trong những ngôn ngữ lập trình được sử dụng cực kỳ phổ biến hiện nay trong rất nhiều lĩnh vực, có thể kể đến như phát triển web/mobile applications , Real time networking apps , Command Line tools , Games, ...
Ngôn ngữ JavaScript compile trong lúc chạy code và nó có thể chạy ở trên trình duyệt hoặc trực tiếp trên bất kỳ máy nào với hai đặc điểm nổi bật là dynamic và weakly typed.
Dynamic - Tính linh hoạt của JavaScript thể hiện ở rất nhiều thứ. Điển hình là chúng ta có thể sửa kiểu biến, thêm các phương thức và thuộc tính cho một đối tượng ngay cả khi chương trình đang chạy. Đa số các ngôn ngữ khác đều hoạt động theo phương thức tĩnh, thế nên đây là đặc điểm nổi bật của JavaScript. Nhưng đồng thời cũng bởi vì thế mà ta cần chú ý đến tính chính xác của code JavaScript - độ chính xác của kết quả chỉ được đánh giá chắc chắn vào lúc thực thi chương trình.
Weakly Typed - JavaScript có thể tự hiểu được kiểu dữ liệu mà không cần người dùng phải định nghĩa chúng một cách riêng biệt. Ví dụ như khi bạn khai báo let b='Yeps Yeps', JavaScript sẽ tự hiểu b có kiểu dữ liệu là chuỗi khí tự. Tương tự, khi bạn khai báo let a = 12, JavaScript sẽ tự hiểu đây là kiểu dữ liệu số nguyên.
Tại sao lại cần đến JavaScript?
Một trang web tĩnh chỉ bao gồm HTML, CSS tất nhiên sẽ không thu hút bằng một trang web động với giao diện thân thiện và có thể phản hồi lại các tương tác của người dùng. JavaScript ra đời chính là vì sứ mệnh đó.
Một cách thông thường nhất để sử dụng JavaScript, như bao ngôn ngữ lập trình khác là chúng ta có thể "code chay" JavaScript mà không cần thông qua bất kỳ framewwork nào cả - người ta thường gọi đây là Vanila JavaScript.
Làm cách nào để thực thi code JavaScript?
Có 2 cách để thực thi code JavaScript:
Môi trường run time của trình duyệt
Máy local
JavaScript chạy trên trình duyệt
Mỗi trình duyệt đều có một JavaScript Engine xây dựng sẵn.
Bước 1 - JavaScript Engine sẽ phân tích cú pháp và đọc hiểu code khi nó được khởi chạy ở trình duyệt.
Bước 2 - Code JavaScript sẽ được biến đổi thành ngôn ngữ máy để giúp thiết bị có thể hiểu và chạy.
Bước 3 - Chạy code và chúng ta có thể nhìn thấy kết quả của những dòng code đó trên trình duyệt
JavaScript Engine phổ biến:
JavaScript chạy trên máy local
Chương trình JavaScript có thẻ chạy bất cứ lúc nào trên node Server
Vậy node là gì? Node.js là môi trường run time cho JavaScript mà bạn có thể cài bất cứ lúc nào ở bất kỳ máy nào, chúng ta có thể nhờ vào đó để thực thi chương trình Vanila JavaScript.
Nếu bạn muốn hiểu rõ hơn về node bạn có thể tham gia một khóa học chuyên sâu về các khái niệm thú vị bên trong nó, những kiến thức này sẽ thực sự rất hữu ích nếu bạn muốn phát triển trong lĩnh vực backend.
Vài nét về lịch sử ngôn ngữ lập trình JavaScript
Năm 1995, Netscape giới thiệu LiveScript - tiền thân của JavaScript
Năm 1996, Microsoft cũng cho ra mắt một version của JavaScript chạy trong Internet Explore với một vài nét khác biệt so với phiên bản trước.
Ở những lúc mới ra mắt đó, JavaScript không thể hiện được nhiều tính ứng dụng trong thực thế, có rất ít thứ được xây dựng bằng JavaScript/LiveScript chỉ có một vài thứ như các nội dung spam, pop ups, ... Nhưng vấn đề chính ở đây là do thời đó người ta phải viết từng script riêng cho từng loại trình duyệt khác nhau.
Để giải quyết vấn đề này, ngôn ngữ lập trình JavaScript đã được chuẩn hóa bởi ECMA vào cuối năm 1996.
Quá trình chuẩn hóa diễn ra trong suốt giai đoạn 1997-2005 và 2006-2011 có thêm dự tham gia của Microsoft.
Cuối cùng chúng ta có phiên bản JavaScript tiêu chuẩn bởi Tổ chức Quốc tế ECMA - nó có thể thực thi trên bất kỳ trình duyệt nào mà không cần phải viết lại các đoạn script.
Tổ chức ECMA cũng phát triển ngôn ngữ ECMAScript và JavaScript chính là triển khai nổi tiếng nhất hiện có của ngôn ngữ ECMAScript.
Nhà cung cấp các trình duyệt (Chrome bởi Google, Firefox bởi Mozila) sẽ triển khai tiêu chuẩn ECMSStandard cho JavaScript Engine được xây dựng bên trong trình duyệt của họ.
Mỗi một trình duyệt sẽ có JavaScript Engine của riêng nó để hỗ trợ cho việc thực thi JavaScript thông qua các tiêu chuẩn cung cấp bởi ECMA.
Đến 2015, JavaScript đã cho thấy một phiên bản hoàn toàn mới với nhiều thay đổi cụ thể. Phiên bản đó được sử dụng xuyên suốt từ năm 2015 đến nay đó là version ES6.