Chuỗi là một trong những loại dữ liệu phổ biến nhất được sử dụng trong phần mềm - chúng đại diện cho các chuỗi ký tự mà chúng tôi phân tích dưới dạng từ
Nối chuỗi là một nhiệm vụ khá chuẩn, đặc biệt là vì chúng ta không phải lúc nào cũng xử lý các chuỗi tĩnh. Đôi khi, chúng tôi tạo các chuỗi động, chẳng hạn như với Mẫu ES6 hoặc chỉ đơn giản là nối các chuỗi để tạo chuỗi mới
Nếu bạn muốn đọc thêm về cách tạo các chuỗi có định dạng động - hãy đọc Hướng dẫn của chúng tôi về Mẫu ES6/Chuỗi ký tự trong Node. js
Trong hướng dẫn này, chúng ta sẽ xem cách nối/nối/nối các chuỗi trong JavaScript
Ghi chú. Các chuỗi là bất biến, có nghĩa là chúng thực sự không thể thay đổi. Bất cứ khi nào bạn gọi một thao tác thay đổi trên một chuỗi, một bản sao được tạo với các thay đổi được áp dụng và nó được trả về thay vì bản gốc
Cách dễ nhất và có lẽ là trực quan nhất để nối chuỗi là sử dụng toán tử
hello world
7console.log["hello " + "world"];
Chạy đoạn mã ngắn này dẫn đến
hello world
Có thể gán một chuỗi trong bộ nhớ cho một biến tham chiếu và tham chiếu đối tượng thay vì nối trực tiếp chuỗi đó
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
Điều này cũng dẫn đến
hello world
Ghi chú. Trong hầu hết các trường hợp, bạn có thể thay thế một cách hợp lý một
hello world
8 và hello world
7 bằng cách viết tắt let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
0, cho phép bạn bỏ qua tham chiếu đến toán hạng đầu tiên, toán hạng này sẽ được thay thế bằng biến mà bạn đang gán kết quả choThay vào đó, bạn có thể viết phiên bản ngắn tay
________số 8_______Điều đáng chú ý là các loại dữ liệu khác cũng có thể được đưa vào hỗn hợp và bất cứ khi nào có thể chuyển đổi ngầm định - JavaScript sẽ "khớp" các loại dữ liệu thành chuỗi
Chẳng hạn, số nguyên dễ dàng được chuyển đổi thành chuỗi, vì vậy nếu bạn thử nối một số nguyên vào một chuỗi - số nguyên được chuyển đổi trước khi được thêm vào. Một chuỗi có thể không phải lúc nào cũng được chuyển đổi thành một số nguyên - chẳng hạn như khi nó không đại diện cho một số hoặc có định dạng kỳ lạ, do đó, nói chung, việc chuyển đổi thành một chuỗi sẽ dễ dàng hơn là từ một chuỗi
var str = "hello";
var int = 21;
var boolean = true;
console.log[str+int];
console.log[str+boolean]
Điều này dẫn đến cả boolean và số nguyên được chuyển đổi thành biểu diễn chuỗi và sau đó được thêm vào chuỗi "xin chào"
hello21
hellotrue
Phương thức
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
1 được tạo riêng cho nhiệm vụ này - để nối các chuỗi. Nó có thể được gọi trên bất kỳ chuỗi nào và chấp nhận một chuỗi khác được nối với chuỗi đang gọiTheo một nghĩa nào đó, nó tương tự như việc sử dụng toán tử viết tắt
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
0let string1 = "Java";
let string2 = "Script";
console.log[string1.concat[string2]];
Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
Kết quả này trong
JavaScript
Ngoài ra, bạn có thể chỉ định một dấu phân cách làm đối số đầu tiên, sau đó được thêm vào giữa tất cả các chuỗi được nối
let string1 = "Java";
let string2 = "Script";
console.log[string1.concat[", ", string2]];
Kết quả này trong
hello world
0Mảng. nguyên mẫu. tham gia[]
Phương thức
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
3 của lớp let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
4 được sử dụng để nối các phần tử của một mảng thành một chuỗi, với dấu phân cách mặc định là dấu phẩy [let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
5]Điều này cho phép chúng tôi xử lý một số lượng lớn các chuỗi theo cách ngắn gọn hơn nhiều và việc đọc một tệp thành một mảng hoặc làm việc với một mảng các chuỗi mà bạn muốn kết hợp với nhau không phải là chưa từng có.
Nếu bạn không chuyển bất kỳ đối số nào vào phương thức - giá trị mặc định sẽ được sử dụng để phân định các chuỗi mới được nối. Hãy chuyển vào một chuỗi trống để bỏ qua chuỗi đó và chỉ nối chúng tương tự như những gì chúng ta đã thấy trước đây
hello world
1Kết quả này trong
hello world
2Cách tiếp cận nào để sử dụng?
Bạn nên sử dụng hàm
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
1 thay vì toán tử +, do các lợi ích về hiệu suất. Tuy nhiên, điều này không thực sự luôn luôn đúng và tính đến một số giả địnhTrước hết - số lượng chuỗi bạn đang nối đóng một vai trò trong việc này, cũng như các yếu tố khác mà bạn thậm chí có thể không biết đến. Hãy so sánh phương thức
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
1 cũng như toán tử hello world
7hello world
3Kết quả này trong
hello world
4Nhưng chờ đã, hãy chuyển đổi môi trường và chạy nó trên một máy khác
hello world
5Và hãy chạy lại trên cùng một máy
hello world
6Thời gian thực hiện rất khác nhau [mặc dù, tất cả chúng đều có tốc độ chấp nhận được]. Cũng đáng lưu ý tuyên bố chính thức từ MDN, liên quan đến lợi ích hiệu suất
Chúng tôi khuyên bạn nên sử dụng các toán tử gán [+, +=] thay cho phương thức concat[]
Điều này có vẻ kỳ lạ, vì thực tế là
let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
1 vượt trội so với người vận hành trong các bài kiểm tra hoặc tệ nhất là có cùng tốc độ. Đưa cái gì? Trình duyệt của bạn, phiên bản của nó cũng như trình tối ưu hóa mà nó sử dụng có thể khác nhau giữa các máy và các thuộc tính như những thuộc tính đó thực sự ảnh hưởng đến hiệu suất. Chẳng hạn, chúng tôi đã sử dụng các chuỗi khác nhau trong phép nối, những chuỗi được tạo từ phép lặp. Nếu chúng ta sử dụng cùng một chuỗi, một trình tối ưu hóa chẳng hạn như V8 của Google sẽ tối ưu hóa hơn nữa việc sử dụng chuỗi
Kiểm tra và xác minh mã của riêng bạn thay vì nhận lời khuyên theo mệnh giá. Không phải tất cả các máy móc và môi trường đều giống nhau và những gì hoạt động tốt trên một máy, có thể không hoạt động tốt trên một máy khác. Hãy cân nhắc điều này khi tạo các ứng dụng.
Phần kết luận
Chúng ta đã xem cách nối các chuỗi trong JavaScript bằng cách sử dụng toán tử
hello world
7, phương thức let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
3 của lớp hello world
2 cũng như phương thức let firstWord = "hello ";
let secondWord = "world";
let newWord = firstWord + secondWord;
1 của lớp hello world
4Chúng tôi đã xem xét lập trường chính thức và chạy thử nghiệm của riêng mình để xem phương pháp nào hiệu quả nhất - và như thường lệ, nó phụ thuộc vào nhiều yếu tố khác nhau