Nối chuỗi Nodejs

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
7

console.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ả cho

Thay 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ọi

Theo 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;
0

let 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
0

Mả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
1

Kết quả này trong

hello world
2

Cá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ả định

Trướ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
7

hello world
3

Kết quả này trong

hello world
4

Như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
5

Và hãy chạy lại trên cùng một máy

hello world
6

Thờ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
4

Chú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