Gõ tĩnh và gõ động trong javascript là gì?

Ở mức trừu tượng nhất, có hai chiến lược khác nhau để xử lý thông tin loại trong ngôn ngữ lập trình. tĩnh hoặc động

Một ngôn ngữ có kiểu tĩnh yêu cầu mỗi biến được gán một kiểu khi nó được khai báo lần đầu. Ngôn ngữ muốn biết loại giá trị là gì và sử dụng thông tin đó để…

Nói chung, các ngôn ngữ lập trình hiện đại thuộc một trong 2 loại này. gõ động so với gõ tĩnh

Vậy sự khác biệt giữa ngôn ngữ lập trình được nhập động và ngôn ngữ lập trình được nhập tĩnh là gì?

Trước khi chúng ta có thể đi sâu vào ý nghĩa của gõ động hoặc tĩnh, trước tiên chúng ta cần hiểu ý nghĩa của từ “gõ” nói chung

Ghi chú. Khái niệm này thực sự vượt ra ngoài JavaScript và Java, nhưng trong phạm vi của cuộc trò chuyện này, chúng tôi sẽ sử dụng JavaScript làm ví dụ cho kiểu gõ động và Java làm ví dụ cho kiểu gõ tĩnh. (Vì vậy, có, Java là một ngôn ngữ được gõ tĩnh. )

Ngôn ngữ được gõ tĩnh là gì?

Hãy bắt đầu bằng cách nói về khái niệm “đánh máy”

Khi chúng ta nói “gõ”, chúng ta đang đề cập đến khái niệm áp dụng “loại” cho một biến

Vì vậy, trong Java, chúng tôi luôn gán một loại cho các biến của mình. Ví dụ

String greeting = "Hello!";
Integer someRandomInteger = 100;
Double aDoubleVariable = 2.2;

Trong cả ba phần khai báo biến trên, chúng ta đã gán một kiểu biến cho mỗi biến. Lý do chúng tôi đã làm điều này là vì Java được nhập tĩnh và do đó chúng tôi buộc phải gán một loại chính xác cho các biến trước khi chúng tôi có thể sử dụng chúng

Có một loại rất quan trọng trong lập trình vì nó cho phép ngôn ngữ quyết định phải làm gì với mã của bạn trong một số tình huống nhất định

Ví dụ: nếu bạn có hai Integer và bạn bảo nó cộng hai cái lại với nhau, vì chúng là Integer, ngôn ngữ sẽ biết cách sử dụng phép cộng… tuy nhiên, nếu bạn có hai String và cộng chúng lại với nhau, vì chúng là String, thì ngôn ngữ sẽ biết

Có lý?

Các loại là quan trọng

Có nói rằng…

Nhập động so với tĩnh

Sự khác biệt giữa ngôn ngữ lập trình kiểu động và kiểu tĩnh là với kiểu gõ động, lập trình viên không bắt buộc phải chỉ định bất kỳ kiểu nào cho các biến mà họ tạo ra

Làm thế nào là gọn gàng đó?

Nhưng tôi sẽ cần tìm hiểu sâu hơn một chút để tinh chỉnh định nghĩa của mình về ngôn ngữ được nhập động. Bạn thấy đấy, nếu bạn không đặt loại một cách rõ ràng, nhưng ngôn ngữ lập trình có thể gán một loại tại thời điểm biên dịch, thì ngôn ngữ đó vẫn được coi là được nhập tĩnh mặc dù lập trình viên không bắt buộc phải đặt loại rõ ràng.

Một ngôn ngữ lập trình được cho là được gõ động nếu lập trình viên không phải gán một loại rõ ràng và một loại không được gán cho biến cho đến khi chạy

Điều này có nghĩa là với các ngôn ngữ sử dụng kiểu gõ động, bạn không thực sự phải quyết định xem biến bạn đang tạo nên là Double hay Float hay String hay Integer, v.v.

Tất cả những gì bạn cần làm chỉ là nói với ngôn ngữ mà bạn muốn tạo một biến và bạn tiến hành công việc kinh doanh của mình bằng cách gán bất kỳ giá trị nào bạn muốn cho biến đó

Vì vậy, hãy tạo lại khai báo của ba biến Java đó bằng cú pháp JavaScript

var greeting = "Hello!";
var someRandomInteger = 100;
var aDoubleVariable = 2.2;

Khi chúng tôi thực thi mã này trong JavaScript, trình thông dịch JavaScript (a. k. a JavaScript engine) sẽ xem xét các giá trị đang được gán cho các biến bạn đã khai báo và tự quyết định “loại” nào để gán các biến trong back-end

Như đã nói, điều rất quan trọng là phải hiểu rằng chỉ vì bạn không phải gán bất kỳ loại nào cho biến của mình, không có nghĩa là JavaScript không có loại… bởi vì JavaScript chắc chắn có loại

Bạn sẽ được giới thiệu với nhà điều hành typeof sau vài tuần nữa. Nó được sử dụng để xác định loại nào được gán cho các biến của bạn

Cách Dynamic Typing hoạt động trong JavaScript

Khái niệm đằng sau cách thức hoạt động của kiểu gõ động trong JavaScript thực sự khá đơn giản

Công cụ JavaScript sẽ chọn một loại mà nó cảm thấy mô tả đúng nhất dữ liệu chứa bên trong biến của bạn. Vì vậy, khi bạn tạo một biến và gán cho nó giá trị của "Hello there!", công cụ sẽ nhận ra rằng đây là một String và nó sẽ gán biến đó làm kiểu dữ liệu đằng sau hậu trường

Điều này có nghĩa là nếu công cụ JavaScript đã chọn kiểu dữ liệu String ở phía sau và bạn thêm một chuỗi khác vào biến này, thì công cụ đó sẽ biết thực hiện nối chuỗi chứ không phải thêm

Vì vậy, tất cả các quy tắc biến mà bạn đã quen thuộc vẫn được áp dụng. Chỉ có một thuật toán hoạt động thay mặt bạn để gán một loại cho các biến của bạn

Chúng ta sẽ đi vào chi tiết hơn về ý nghĩa của việc gõ động đối với mã hóa của bạn trong bài viết tiếp theo khi chúng ta đi sâu hơn vào các biến JavaScript

để tóm tắt

Nếu bạn có nền tảng về Java, thì đó có thể là một chút chuyển đổi kỳ lạ sang một ngôn ngữ được gõ động như JavaScript, nhưng điều quan trọng nhất bạn cần nhớ là vẫn có những kiểu sao lưu tất cả các biến của bạn

Bạn chỉ cần ngồi lại và tận hưởng sự tự do mới tìm thấy của mình khi không phải suy nghĩ về kiểu gán cho các biến của bạn khi bạn khai báo chúng. Chỉ cần khai báo các biến đó và bỏ đi. )

Và như mọi khi, hãy nhớ tham gia danh sách email của chúng tôi bên dưới và nhận quà tặng miễn phí trực tiếp vào hộp thư đến của bạn. Bạn có thể đọc thêm về những gì tôi tặng dưới dạng quà tặng miễn phí bên dưới bài đăng này

Gõ tĩnh và động trong JavaScript là gì?

Có hai điểm khác biệt chính giữa gõ động và gõ tĩnh mà bạn nên biết khi viết tập lệnh chuyển đổi. Đầu tiên, các ngôn ngữ được nhập động thực hiện kiểm tra kiểu khi chạy, trong khi các ngôn ngữ được nhập tĩnh thực hiện kiểm tra kiểu tại thời điểm biên dịch .

Gõ tĩnh trong JavaScript là gì?

Ngôn ngữ được nhập tĩnh là ngôn ngữ (chẳng hạn như Java, C hoặc C++) trong đó các loại biến được biết tại thời điểm biên dịch . Trong hầu hết các ngôn ngữ này, các loại phải được chỉ định rõ ràng bởi người lập trình; .

Gõ động trong JavaScript là gì?

Ngôn ngữ được nhập động là những ngôn ngữ (như JavaScript) trong đó trình thông dịch gán một loại biến trong thời gian chạy dựa trên giá trị của biến tại thời điểm đó .

JavaScript là loại tĩnh hay loại động trong JavaScript?

Javascript là ngôn ngữ gõ động . Khi bạn khai báo một biến, bạn không cần chỉ định biến đó là kiểu gì. Công cụ Javascript suy ra loại biến này dựa trên giá trị được gán vào thời gian chạy.