CoffeeScript - Các biến

Các biến không là gì ngoài các vùng chứa được đặt tên. Bạn có thể đặt dữ liệu vào các vùng chứa này và sau đó tham chiếu đến dữ liệu bằng cách sử dụng tên của vùng chứa của nó.

Biến CoffeeScript

Trong JavaScript, trước khi sử dụng một biến, chúng ta cần khai báo và khởi tạo nó (gán giá trị). Không giống như JavaScript, khi tạo một biến trong CoffeeScript, không cần phải khai báo nó bằng cách sử dụngvartừ khóa. Chúng ta chỉ cần tạo một biến chỉ bằng cách gán giá trị cho một chữ như hình dưới đây.

name = variable name

Thí dụ

Trong mã CoffeeScript sau, chúng tôi đã xác định hai biến nameage, của các kiểu dữ liệu chuỗi và số tương ứng. Lưu nó trong một tệp có tênvariable_example.coffee.

name = "Javed"
age = 25

Compiling the code

Biên dịch mã CoffeeScript ở trên bằng cách thực hiện lệnh sau trong dấu nhắc lệnh.

c:\> compile -c variable_example.coffee

Khi biên dịch, một tệp JavaScript có tên variable_example.jssẽ được tạo với nội dung sau. Ở đây, bạn có thể thấy rằng trình biên dịch đã khai báo các biến (tuổi và tên) bằng cách sử dụngvar từ khóa thay mặt cho chúng tôi.

// Generated by CoffeeScript 1.10.0
(function() {
  var age, name;
  name = "Javed";
  age = 25;
  
}).call(this);

Phạm vi biến đổi

Phạm vi của một biến là vùng chương trình của bạn mà nó được xác định. Các biến JavaScript và CoffeeScript chỉ có hai phạm vi.

  • Global Variables - Một biến toàn cục có phạm vi toàn cầu, có nghĩa là nó có thể được sử dụng ở bất kỳ đâu trong mã JavaScript của bạn.

  • Local Variables- Một biến cục bộ sẽ chỉ hiển thị trong một hàm mà nó được định nghĩa. Các tham số của hàm luôn là cục bộ của hàm đó.

Vấn đề với các biến trong JavaScript

Trong JavaScript, bất cứ khi nào chúng tôi xác định một biến mà không sử dụng vartừ khóa, nó được tạo với phạm vi toàn cầu. Điều này gây ra rất nhiều vấn đề. Hãy xem xét ví dụ sau:

<script type = "text/javascript">
   var i = 10;
   document.write("The value of global variable i is "+ i);   
   document.write("<br>");
   test();
   function test() {
      i = 20;
      document.write("The value of local variable i is "+i);
      document.write("<br>");
   }
   document.write("The value of global variable i is "+i);
</script>

Khi thực thi, JavaScript trên cung cấp cho bạn kết quả sau:

The value of global variable i is 10

The value of local variable i is 20

The value of global variable i is 20

Trong ví dụ trên, chúng tôi đã tạo một biến có tên itrong không gian chung và được gán giá trị 10 cho nó. Và trong hàm, khi cố gắng tạo một biến cục bộ có cùng tên, chúng ta đã khai báo là i = 20 ; không có từ khóa var. Vì chúng tôi đã bỏ lỡvar từ khóa, giá trị của biến toàn cục i được chỉ định lại thành 20.

Vì lý do này, bạn nên khai báo các biến bằng cách sử dụng var từ khóa.

Phạm vi biến trong CoffeeScript

Bất cứ khi nào chúng tôi biên dịch tệp CoffeeScript, trình biên dịch CoffeeScript tạo một hàm ẩn danh và trong hàm đó, nó sẽ biên dịch mã CoffeeScript sang JavaScript từng dòng một. (Nếu muốn, chúng tôi có thể xóa trình bao bọc chức năng cấp cao nhất bằng cách sử dụng-b hoặc là --bare tùy chọn của lệnh biên dịch) Mọi biến mà chúng tôi tạo được khai báo bằng cách sử dụng var từ khóa trong hàm ẩn danh và do đó, theo mặc định, mọi biến đều là cục bộ trong CoffeeScript.

(function() {
  var age, name;
  name = "javed";
  age = 20;
}).call(this);

Dù sao, nếu muốn, chúng ta có thể khai báo một biến với không gian tên toàn cục. Chúng tôi có thể làm điều đó một cách rõ ràng như hình dưới đây.

obj = this
obj.age = 30

Tên biến CoffeeScript (Chữ viết)

Trong khi đặt tên cho các biến của bạn trong CoffeeScript, hãy ghi nhớ các quy tắc sau.

  • Bạn không nên sử dụng bất kỳ từ khóa nào dành riêng cho CoffeeScript làm tên biến. Những từ khóa này sẽ được đề cập trong phần tiếp theo. Ví dụ, tên biến break hoặc Boolean không hợp lệ.

  • Tên biến CoffeeScript không được bắt đầu bằng chữ số (0-9). Chúng phải bắt đầu bằng một chữ cái hoặc một ký tự gạch dưới. Ví dụ: 123test là một tên biến không hợp lệ nhưng _123test là một biến hợp lệ.

  • Tên biến CoffeeScript phân biệt chữ hoa chữ thường. Ví dụ,Namename là hai biến khác nhau.