Javascript Strings

11/07/2019

Bài sau » « Bài trước

Javascript String dùng để lưu trữ và xử lý đoạn văn bản.

Javascript string là rỗng hoặc một chuỗi nằm trong dấu nháy đơn hoặc nháy kép.

Ví dụ:

var carName1 = "Volvo XC60"; // Dấu nháy kép var carName2 = 'Volvo XC60'; // Dấu nháy đơn

Bạn có thể dùng dấu nháy đôi bọc lấy dấu nháy đơn, hoặc ngược lại dùng dấu nháy đơn bọc lấy dấu nháy đôi. Xem ví dụ bên dưới:

var answer1 = "It's alright"; var answer2 = "He is called 'Johnny'"; var answer3 = 'He is called "Johnny"';

String Length

Để đếm chiều dài của một chuỗi, dùng thuộc tính length:

var txt = "ABCDEF"; var total = txt.length; // kết quả của biến total là 6.

Kí tự đặc biệt

Vì Strings được viết trong dấu nháy, Javascript dễ hiểu lầm trong trường hợp sau:

var x = "We are the so-called "Vikings" from the north.";

Chuỗi trên sẽ bị cắt nhỏ ra. Để giải quyết trường hợp đó, ta dùng dấu gạch chéo ngược \.

CodeKết quảMô tả
\''Dấu nháy đơn
\""Dấu nháy kép
\\\Dấu gạch chéo ngược

Quay lại ví dụ ban đầu ta viết như sau:

var x = "We are the so-called \"Vikings\" from the north."; // Kết quả hiển thị là: We are the so-called "Vikings" from the north. // Tương tự cho các trường hợp in ra dấu nháy đơn hoặc dấu \ var x = 'It\'s alright.'; var x = "The character \\ is called backslash.";

Ngắt dòng code

Để dễ đọc nhất, các lập trình viên thường thích tránh các dòng mã dài hơn 80 ký tự.

Nếu một câu lệnh JavaScript không vừa trên một dòng, thì nơi tốt nhất để ngắt dòng là sau một toán tử:

document.getElementById("demo").innerHTML = "Hello Dolly!";

Bạn cũng có thể ngắt dòng trong một chuỗi văn bản bằng một dấu gạch chéo ngược:

document.getElementById("demo").innerHTML = "Hello \ Dolly!";

Chú ý: Phương thức \ không phải là phương thức ưa thích. Nó có thể không được hỗ trợ phổ biến. Một số trình duyệt không cho phép khoảng trắng phía sau ký tự \.

Một cách an toàn hơn để ngắt dòng, là sử dụng phép cộng chuỗi:

document.getElementById("demo").innerHTML = "Hello " + "Dolly!";

Bạn không thể ngắt dòng với dấu gạch chéo ngược:

document.getElementById("demo").innerHTML = \ "Hello Dolly!";

Strings có thể là Object

Thông thường, chuỗi JavaScript là các giá trị nguyên thủy, được tạo từ chữ:

var firstName = "John";

Nhưng strings cũng có thể định nghĩa là 1 objects với từ khóa new

var firstName = new String("John");

var x = "John"; var y = new String("John"); // typeof x trả về là string // typeof y trả về là object

Đừng tạo chuỗi dưới dạng object. Nó làm chậm tốc độ thực hiện. Các từ khóa new làm phức tạp mã. Điều này có thể tạo ra một số kết quả bất ngờ.

Khi sử dụng toán tử ==, Kết quả chuỗi bằng nhau:

var x = "John"; var y = new String("John"); // (x == y) là true vì x và y có giá trị bằng nhau là "John"

Khi sử dụng toán tử ===, Kết quả là false, vì === so sánh cả về giá trị lẫn kiểu dữ liệu.

var x = "John"; var y = new String("John"); // (x === y) là false vì x và y có giá trị bằng nhau là "John" nhưng khác kiểu dữ liệu strings với object.

Hoặc tệ hơn. Object không thể so sánh:

var x = new String("John"); var y = new String("John"); // (x == y) là false vì x và y là 2 object khác nhau.

Tổng kết bài học.

Hiểu được sự khác nhau giữa so sánh x==yx===y

So sánh 2 javascript object thì kết quả luôn luôn trả là về false.

Bài sau » « Bài trước
Back to top