Hầu hết thời gian, một ứng dụng JavaScript cần làm việc với thông tin. Đây là hai ví dụ:
- Một cửa hàng trực tuyến - thông tin có thể bao gồm hàng hóa được bán và giỏ hàng.
- Một ứng dụng trò chuyện - thông tin có thể bao gồm người dùng, tin nhắn và nhiều hơn nữa.
Các biến được sử dụng để lưu trữ thông tin này.
Một biến số
Một biến là một bộ lưu trữ có tên là cho dữ liệu. Chúng tôi có thể sử dụng các biến để lưu trữ các tính năng, khách truy cập và dữ liệu khác.
Để tạo một biến trong JavaScript, hãy sử dụng từ khóa
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1.Câu lệnh bên dưới tạo ra [nói cách khác: khai báo] một biến có tên là tin nhắn trực tuyến:
Bây giờ, chúng ta có thể đặt một số dữ liệu vào đó bằng cách sử dụng toán tử gán
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
2:let message;
message = 'Hello'; // store the string 'Hello' in the variable named message
Chuỗi hiện được lưu vào khu vực bộ nhớ được liên kết với biến. Chúng ta có thể truy cập nó bằng cách sử dụng tên biến:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
Để súc tích, chúng ta có thể kết hợp khai báo và gán biến thành một dòng duy nhất:
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
Chúng tôi cũng có thể khai báo nhiều biến trong một dòng:
let user = 'John', age = 25, message = 'Hello';
Điều đó có vẻ ngắn hơn, nhưng chúng tôi không khuyến khích nó. Để có khả năng đọc tốt hơn, vui lòng sử dụng một dòng cho mỗi biến.
Biến thể đa dòng dài hơn một chút, nhưng dễ đọc hơn:
let user = 'John';
let age = 25;
let message = 'Hello';
Một số người cũng xác định nhiều biến theo kiểu đa dòng này:
let user = 'John',
age = 25,
message = 'Hello';
Mạnh hoặc thậm chí trong phong cách đầu tiên của dấu phẩy:
let user = 'John'
, age = 25
, message = 'Hello';
Về mặt kỹ thuật, tất cả các biến thể này làm điều tương tự. Vì vậy, nó là một vấn đề về sở thích cá nhân và thẩm mỹ.
3 thay vì let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
Trong các tập lệnh cũ hơn, bạn cũng có thể tìm thấy một từ khóa khác:
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
3 thay vì let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1:Từ khóa
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
3 gần giống như let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1. Nó cũng tuyên bố một biến số, nhưng theo một cách hơi khác, trường học cũ.Có sự khác biệt tinh tế giữa
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1 và let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
3, nhưng chúng chưa quan trọng đối với chúng tôi. Chúng tôi sẽ bao gồm chúng một cách chi tiết trong chương "Var" cũ.Một sự tương tự ngoài đời thực
Chúng ta có thể dễ dàng nắm bắt được khái niệm về một biến số của người Viking nếu chúng ta tưởng tượng nó là một hộp hộp cho dữ liệu, với một nhãn dán được đặt tên độc đáo trên đó.
Chẳng hạn, biến
let user = 'John', age = 25, message = 'Hello';
1 có thể được tưởng tượng là một hộp được dán nhãn let user = 'John', age = 25, message = 'Hello';
2 với giá trị let user = 'John', age = 25, message = 'Hello';
3 trong đó:Chúng ta có thể đặt bất kỳ giá trị nào vào hộp.
Chúng tôi cũng có thể thay đổi nó bao nhiêu lần tùy thích:
let message;
message = 'Hello!';
message = 'World!'; // value changed
alert[message];
Khi giá trị được thay đổi, dữ liệu cũ sẽ bị xóa khỏi biến:
Chúng tôi cũng có thể khai báo hai biến và sao chép dữ liệu từ cái này sang loại khác.
let hello = 'Hello world!';
let message;
// copy 'Hello world' from hello into message
message = hello;
// now two variables hold the same data
alert[hello]; // Hello world!
alert[message]; // Hello world!
Khai báo hai lần kích hoạt lỗi
Một biến chỉ nên được khai báo một lần.
Tuyên bố lặp lại của cùng một biến là một lỗi:
let message = "This";
// repeated 'let' leads to an error
let message = "That"; // SyntaxError: 'message' has already been declared
Vì vậy, chúng ta nên khai báo một biến một lần và sau đó tham khảo nó mà không cần
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1.Ngôn ngữ chức năng
Thật thú vị khi lưu ý rằng có tồn tại các ngôn ngữ lập trình chức năng, như Scala hoặc Erlang cấm thay đổi các giá trị biến.
Trong các ngôn ngữ như vậy, một khi giá trị được lưu trữ trong hộp, thì nó ở đó mãi mãi. Nếu chúng ta cần lưu trữ một cái gì đó khác, ngôn ngữ buộc chúng ta phải tạo một hộp mới [khai báo một biến mới]. Chúng ta có thể sử dụng lại cái cũ.
Mặc dù nó có vẻ hơi kỳ quặc ngay từ cái nhìn đầu tiên, những ngôn ngữ này hoàn toàn có khả năng phát triển nghiêm trọng. Hơn thế nữa, có những lĩnh vực như tính toán song song nơi giới hạn này mang lại những lợi ích nhất định. Nghiên cứu một ngôn ngữ như vậy [ngay cả khi bạn không có kế hoạch sử dụng nó sớm] được khuyến nghị để mở rộng tâm trí.
Đặt tên biến
Có hai hạn chế về tên biến trong JavaScript:
- Tên phải chỉ chứa các chữ cái, chữ số hoặc các ký hiệu
5 vàlet user = 'John', age = 25, message = 'Hello';
6.let user = 'John', age = 25, message = 'Hello';
- Nhân vật đầu tiên không được là một chữ số.
Ví dụ về tên hợp lệ:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
0Khi tên chứa nhiều từ, Camelcase thường được sử dụng. Đó là: các từ đi hết lần này đến lần khác, mỗi từ ngoại trừ lần đầu tiên bắt đầu bằng một chữ cái viết hoa:
let user = 'John', age = 25, message = 'Hello';
7.Điều gì thú vị - dấu hiệu đô la
let user = 'John', age = 25, message = 'Hello';
8 và dấu gạch dưới let user = 'John', age = 25, message = 'Hello';
9 cũng có thể được sử dụng trong tên. Chúng là những biểu tượng thường xuyên, giống như các chữ cái, không có bất kỳ ý nghĩa đặc biệt nào.Những tên này là hợp lệ:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
1Ví dụ về tên biến không chính xác:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
2Trường hợp vấn đề
Các biến có tên
let user = 'John';
let age = 25;
let message = 'Hello';
0 và let user = 'John';
let age = 25;
let message = 'Hello';
1 là hai biến khác nhau.Các chữ cái không phải là latin được cho phép, nhưng không được khuyến nghị
Có thể sử dụng bất kỳ ngôn ngữ nào, bao gồm các chữ cái cyrillic hoặc thậm chí là chữ tượng hình, như thế này:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
3Về mặt kỹ thuật, không có lỗi ở đây. Tên như vậy được cho phép, nhưng có một hội nghị quốc tế để sử dụng tiếng Anh trong các tên biến. Ngay cả khi chúng tôi viết một kịch bản nhỏ, nó có thể có một cuộc sống lâu dài phía trước. Người dân từ các quốc gia khác có thể cần phải đọc nó một thời gian.
Tên dành riêng
Có một danh sách các từ dành riêng, không thể được sử dụng làm tên biến vì chúng được sử dụng bởi chính ngôn ngữ.
Ví dụ:
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1, let user = 'John';
let age = 25;
let message = 'Hello';
3, let user = 'John';
let age = 25;
let message = 'Hello';
4 và let user = 'John';
let age = 25;
let message = 'Hello';
5 được bảo lưu.Mã bên dưới đưa ra lỗi cú pháp:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
4Một bài tập mà không có
6let user = 'John';
let age = 25;
let message = 'Hello';
Thông thường, chúng ta cần xác định một biến trước khi sử dụng nó. Nhưng trong thời xưa, về mặt kỹ thuật có thể tạo ra một biến bằng cách gán giá trị đơn thuần mà không cần sử dụng
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1. Điều này vẫn hoạt động ngay bây giờ nếu chúng tôi không đặt let user = 'John';
let age = 25;
let message = 'Hello';
6 vào các tập lệnh của chúng tôi để duy trì khả năng tương thích với các tập lệnh cũ.let message;
message = 'Hello!';
alert[message]; // shows the variable content
5Đây là một thông lệ xấu và sẽ gây ra lỗi ở chế độ nghiêm ngặt:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
6Hằng số
Để khai báo một biến không đổi [không thay đổi], hãy sử dụng
let user = 'John';
let age = 25;
let message = 'Hello';
9 thay vì let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1:let message;
message = 'Hello!';
alert[message]; // shows the variable content
7Các biến được khai báo bằng cách sử dụng
let user = 'John';
let age = 25;
let message = 'Hello';
9 được gọi là hằng số. Họ không thể được chỉ định lại. Một nỗ lực để làm như vậy sẽ gây ra lỗi:let message;
message = 'Hello!';
alert[message]; // shows the variable content
8Khi một lập trình viên chắc chắn rằng một biến sẽ không bao giờ thay đổi, họ có thể khai báo nó với
let user = 'John';
let age = 25;
let message = 'Hello';
9 để đảm bảo và truyền đạt rõ ràng sự thật đó cho mọi người.Hằng số viết hoa
Có một thực hành rộng rãi để sử dụng các hằng số làm bí danh cho các giá trị khó nhớ được biết trước khi thực hiện.
Các hằng số như vậy được đặt tên bằng cách sử dụng chữ in hoa và dấu gạch dưới.
Chẳng hạn, hãy để các hằng số cho các màu sắc trong cái gọi là định dạng Web Web [Hexadecimal]:
let message;
message = 'Hello!';
alert[message]; // shows the variable content
9Lợi ích:
3 dễ nhớ hơn nhiều so vớilet user = 'John', age = 25, message = 'Hello';
4.let user = 'John', age = 25, message = 'Hello';
- Nó dễ dàng hơn nhiều để phân biệt
4 so vớilet user = 'John', age = 25, message = 'Hello';
3.let user = 'John', age = 25, message = 'Hello';
- Khi đọc mã,
3 có ý nghĩa hơn nhiều so vớilet user = 'John', age = 25, message = 'Hello';
8.let user = 'John', age = 25, message = 'Hello';
Khi nào chúng ta nên sử dụng thủ đô cho một hằng số và khi nào chúng ta nên đặt tên cho nó bình thường? Hãy để cho điều đó rõ ràng.
Là một hằng số của người Viking, chỉ có nghĩa là giá trị của một biến không bao giờ thay đổi. Nhưng có những hằng số được biết trước khi thực hiện [như giá trị thập lục phân cho màu đỏ] và có các hằng số được tính theo thời gian chạy, trong quá trình thực hiện, nhưng không thay đổi sau khi gán ban đầu.
Ví dụ:
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
0Giá trị của
let user = 'John',
age = 25,
message = 'Hello';
9 không được biết đến trước khi tải trang, do đó, nó có tên bình thường. Nhưng nó vẫn là một hằng số vì nó không thay đổi sau khi chuyển nhượng.Nói cách khác, các hằng số có tên vốn chỉ được sử dụng làm bí danh cho các giá trị mã hóa cứng.
Đặt tên cho mọi thứ đúng
Nói về các biến số, có một điều cực kỳ quan trọng hơn.
Một tên biến nên có một ý nghĩa rõ ràng, rõ ràng, mô tả dữ liệu mà nó lưu trữ.
Đặt tên biến là một trong những kỹ năng quan trọng và phức tạp nhất trong lập trình. Một cái nhìn nhanh vào các tên biến có thể tiết lộ mã nào được viết bởi người mới bắt đầu so với một nhà phát triển có kinh nghiệm.
Trong một dự án thực sự, hầu hết thời gian được dành để sửa đổi và mở rộng một cơ sở mã hiện có thay vì viết một cái gì đó hoàn toàn tách biệt với đầu. Khi chúng tôi trở lại một số mã sau khi làm một việc khác trong một thời gian, nó sẽ dễ dàng hơn nhiều để tìm thấy thông tin được dán nhãn tốt. Hoặc, nói cách khác, khi các biến có tên tốt.
Vui lòng dành thời gian suy nghĩ về tên phù hợp cho một biến trước khi khai báo nó. Làm như vậy sẽ trả nợ cho bạn một cách đẹp đẽ.
Một số quy tắc tốt theo dõi là:
- Sử dụng các tên có thể đọc được của con người như
0 hoặclet user = 'John' , age = 25 , message = 'Hello';
1.let user = 'John' , age = 25 , message = 'Hello';
- Tránh xa các chữ viết tắt hoặc tên ngắn như
2,let user = 'John' , age = 25 , message = 'Hello';
3,let user = 'John' , age = 25 , message = 'Hello';
4, trừ khi bạn thực sự biết những gì bạn đang làm.let user = 'John' , age = 25 , message = 'Hello';
- Làm cho tên mô tả tối đa và súc tích. Ví dụ về tên xấu là
5 vàlet user = 'John' , age = 25 , message = 'Hello';
6. Những cái tên như vậy không nói gì. Nó chỉ ổn khi sử dụng chúng nếu bối cảnh của mã cho thấy nó đặc biệt rõ ràng dữ liệu hoặc giá trị nào mà biến đang tham khảo.let user = 'John' , age = 25 , message = 'Hello';
- Đồng ý về các điều khoản trong nhóm của bạn và trong tâm trí của bạn. Nếu một khách truy cập trang web được gọi là người dùng của người dùng thì chúng ta nên đặt tên các biến liên quan
7 hoặclet user = 'John' , age = 25 , message = 'Hello';
8 thay vìlet user = 'John' , age = 25 , message = 'Hello';
9 hoặclet user = 'John' , age = 25 , message = 'Hello';
0.let message; message = 'Hello!'; message = 'World!'; // value changed alert[message];
Nghe có vẻ đơn giản? Thật vậy, đó là, nhưng tạo ra các tên biến mô tả và súc tích trong thực tế thì không. Cứ liều thử đi.
Tái sử dụng hoặc tạo?
Và ghi chú cuối cùng. Có một số lập trình viên lười biếng, thay vì tuyên bố các biến mới, có xu hướng sử dụng lại các biến hiện tại.
Kết quả là, các biến của chúng giống như các hộp mà mọi người ném những thứ khác nhau mà không thay đổi nhãn dán của họ. Những gì bên trong hộp bây giờ? Ai biết? Chúng ta cần đến gần hơn và kiểm tra.
Các lập trình viên như vậy tiết kiệm một chút về tuyên bố biến nhưng mất gấp mười lần khi gỡ lỗi.
Một biến bổ sung là tốt, không xấu.
Trình phát và trình duyệt JavaScript hiện đại tối ưu hóa mã đủ tốt, do đó, nó đã giành được các vấn đề về hiệu suất. Sử dụng các biến khác nhau cho các giá trị khác nhau thậm chí có thể giúp công cụ tối ưu hóa mã của bạn.
Bản tóm tắt
Chúng tôi có thể khai báo các biến để lưu trữ dữ liệu bằng cách sử dụng các từ khóa
let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
3, let message = 'Hello!'; // define the variable and assign the value
alert[message]; // Hello!
1 hoặc let user = 'John';
let age = 25;
let message = 'Hello';
9.
1 - là một tuyên bố biến hiện đại.let message = 'Hello!'; // define the variable and assign the value alert[message]; // Hello!
3-là một tuyên bố biến trường học cũ. Thông thường, chúng tôi không sử dụng nó, nhưng chúng tôi sẽ bao gồm những khác biệt tinh tế từlet message = 'Hello!'; // define the variable and assign the value alert[message]; // Hello!
1 trong chương "Var" cũ, chỉ trong trường hợp bạn cần chúng.let message = 'Hello!'; // define the variable and assign the value alert[message]; // Hello!
9 - giống nhưlet user = 'John'; let age = 25; let message = 'Hello';
1, nhưng giá trị của biến có thể thay đổi.let message = 'Hello!'; // define the variable and assign the value alert[message]; // Hello!
Các biến nên được đặt tên theo cách cho phép chúng ta dễ dàng hiểu được những gì bên trong chúng.