So sánh ký tự trong javascript
Nhưng điều này đòi hỏi hai so sánh chuỗi trong JavaScript, không giống như trong C như các ngôn ngữ có hàm strcmp() trả về ba giá trị (-1, 0, ... Show Trích nguồn : ...
20 Nov 2018 · Còn không chuỗi dài hơn sẽ lớn hơn.Ở ví dụ trên, phép so sánh 'Z' > 'A' ra kết quả Ɩà true.Chuỗi 'Glow' ѵà 'Glee ... Trích nguồn : ...
8 Apr 2017 · Chuỗi - String Ɩà một thứ không thể thiếu trong một ngôn ngữ ѵà đi kèm theo nó Ɩà hàng loạt các hàm xử lý chuỗi sẵn có, rấт hữu dụng. Trích nguồn : ...
So sánh chuỗi.Để xem liệu một chuỗi có lớn hơn chuỗi khác hay không, JavaScript sử dụng thứ tự được gọi Ɩà dictionary hay lexicographical. Trích nguồn : ...
Một chuỗi JavaScript bao gồm không hoặc nhiều ký tự được viết trong cặp dấu ...So sánh hai đối tượng trong JavaScript luôn trả về kết quả false (sai). Trích nguồn : ...
Các phương thức, thuộc tính c̠ủa̠ String trong JavaScript · charAt() · charCodeAt() · concat() · endsWith() · fromCharCode() · includes() · indexOf() · lastIndexOf(). Trích nguồn : ...
– Để đếm số lượng ký tự c̠ủa̠ một chuỗi, ta truy cập ѵào thuộc tính length c̠ủa̠ chuỗi đó.Ví dụ. Từ khoá:Vừa rồi, thảthính.vn đã gửi tới các bạn chi tiết về chủ đề Hàm so sánh chuỗi trong javascript ❤️️, hi vọng với thông tin hữu ích mà bài viết "Hàm so sánh chuỗi trong javascript" mang lại sẽ giúp các bạn trẻ quan tâm hơn về Hàm so sánh chuỗi trong javascript [ ❤️️❤️️ ] hiện nay. Hãy cùng thảthính.vn phát triển thêm nhiều bài viết hay về Hàm so sánh chuỗi trong javascript bạn nhé. Qua bài viết trước, bạn đã biết toán tử là gì, cũng như các loại toán tử trong JavaScript giúp cho việc tính toán. Tiếp theo, mình sẽ tìm hiểu về toán tử so sánh trong JavaScript. Cụ thể, bài viết này tập trung vào tìm hiểu toán tử so sánh là gì, các loại toán tử so sánh trong JS, kết quả của phép so sánh và một số trường hợp đặc biệt (dễ nhầm lẫn) khi so sánh. Toán tử so sánh là gì?Toán tử so sánh là toán tử hai ngôi dùng để so sánh giá trị của hai toán hạng với nhau. Các toán tử so sánh trong JavaScript bao gồm:
Ví dụ các phép toán so sánh: let a = 1; let b = 2; a > b; a < b; a >= b; a <= b; a == b; a === b; a != b; a !== b; Kết quả của phép so sánhKết quả của phép so sánh luôn là một giá trị kiểu boolean.
Ví dụ: console.log(5 > 6); console.log(5 < 6); console.log(5 >= 6); console.log(5 <= 6); console.log(5 == 6); console.log(5 === 6); console.log(5 != 6); console.log(5 !== 6); Bạn có thể gán kết quả của phép so sánh cho một biến khác: let ret = 6 > 9; console.log(ret); So sánh stringQuy tắc so sánh hai string trong JavaScript cũng giống như hầu hết các ngôn ngữ lập trình khác. Đó là so sánh theo thứ tự "từ điển". Hay nói cách khác là so sánh từng chữ cái một (từ trái sang phải). Ví dụ so sánh các string: console.log("A" < "Z"); console.log("Small" < "Smart"); console.log("Big" < "BigBang");
Trong ví dụ so sánh "A" < "Z" kết quả là true. Quá trình so sánh dừng lại ở bước một. Trong ví dụ so sánh "Small" < "Smart" kết quả là true. Quá trình so sánh lặp lại nhiều lần.
Trong ví dụ so sánh "Big" < "BigBang" kết quả là true. Quá trình so sánh cùng lặp lại nhiều lần. Ba kí tự đầu tiên là "Big" đều giống nhau. Lúc này, string "Big" kết thúc. Trong khi, string "BigBang" còn thêm các kí tự "Bang" (độ dài string lớn hơn). Suy ra, string "Big" nhỏ hơn string "BigBang".
So sánh khác kiểu dữ liệuKhi so sánh các toán hạng khác kiểu dữ liệu, JavaScript chuyển đổi giá trị các toán hạng ra dạng số, ví dụ: console.log("5" > 4); console.log("01" == 1); console.log("11" == 1); Đối với kiểu dữ liệu boolean, true sẽ chuyển thành 1 và false chuyển thành 0. console.log(true == 1); console.log(false == 0); Việc so sánh khác kiểu dữ liệu sử dụng toán tử bằng "không nghiêm ngặt" == dẫn đến một số trường hợp "phi logic", ví dụ: console.log("" == 0); console.log("0" == 0); console.log("" == "0"); Kì lạ phải không? Nếu theo tính chất "bắc cầu" trong toán học thì nếu "" == 0 là true và "0" == 0 là true, suy ra "" == "0" cũng phải là true (vì cùng bằng 0). Nhưng thực tế lại không phải như vậy, hai phép so sánh đầu tiên là so sánh khác kiểu dữ liệu, nên "" và "0" đều được chuyển thành dạng số và bằng 0. Trong khi phép so sánh thứ ba là so sánh cùng kiểu dữ liệu, nên không có quá trình chuyển đổi dữ liệu xảy ra. Dẫn đến, kết quả của phép so sánh cuối là false. Để giải quyết vấn đế này, JavaScript tạo ra toán tử so sánh bằng "nghiêm ngặt" ===. So sánh bằng nghiêm ngặtĐối với toán tử so sánh bằng "nghiêm ngặt", JavaScript sẽ không thực hiện chuyển đổi kiểu dữ liệu. Nói cách khác, hai giá trị khác kiểu dữ liệu thì luôn khác nhau, ví dụ: console.log("" == 0); console.log("" === 0); Tương tự với so sánh bằng nghiêm ngặt, JavaScript cũng có so sánh khác nghiêm ngặt, ví dụ: console.log("" != 0); console.log("" !== 0);
So sánh với null và undefinedKhác với các kiểu dữ liệu khác, việc so sánh null và undefined thường không rõ ràng cho lắm. Khi sử dụng toán tử so sánh bằng "nghiêm ngặt" === thì dĩ nhiên là hai giá trị này khác nhau. Vì chúng khác kiểu dữ liệu. console.log(null === undefined); Nhưng khi sử dụng toán tử so sánh bằng "không nghiêm ngặt" == thì kết quả lại là true. console.log(null == undefined);
Khi sử dụng các toán tử so sánh >, <, >= và <= thì sao? Hai giá trị này sẽ được chuyển sang dạng số. Cụ thể null chuyển thành 0 và undefined chuyển thành NaN. Khi sử dụng các toán tử so sánh >, <, >= và <= với null và undefined thì kết quả đều false hết. console.log(null > undefined); console.log(null < undefined); console.log(null >= undefined); console.log(null <= undefined); Bây giờ, mình thử so sánh hai giá trị này với số 0 xem có gì kỳ lạ không nào! So sánh null với 0 console.log(null > 0); console.log(null >= 0); console.log(null == 0); Trong các phép so sánh (1), (2), null chuyển thành số 0 nên ta có đáp án lần lượt là false và true. Nhưng ở phép so sánh (3), null không chuyển thành 0 nên kết quả là false.
So sánh undefined với 0 console.log(undefined > 0); console.log(undefined >= 0); console.log(undefined == 0); Kết quả là false hết. Trong các phép so sánh (1) và (2), undefined chuyển thành NaN nên chắc chắn khác 0. Trong khi phép so sánh (3), undefined không bằng (==) 0. Vì như mình đã nói ở trên, undefined chỉ bằng (==) null mà thôi.
Thứ tự ưu tiên của các toán tử so sánhCác toán tử so sánh có thứ tự ưu tiên giống nhau. Khi trong biểu thức có nhiều toán tử so sánh, thứ tự thực hiện là từ trái sang phải. Ví dụ: Thoạt đầu nhìn qua, bạn sẽ thấy kết quả trên là vô lý phải không? Vì theo toán học thì chắc chắn số 3 lớn hơn số 2 và số 2 lớn hơn số 1, nên kết quả (2) phải bằng true mới hợp lý. Nhưng nếu bạn áp dụng đúng quy tắc thứ tự ưu tiên vào đây, bạn sẽ thấy kết quả trên là hoàn toàn đúng. Vì JavaScript sẽ thực hiện so sánh hai số đầu tiên trước, 3 > 2 là đúng nên kết quả của phép so sánh này là true. Khi đó, mình có thể viết lại như sau: Rõ ràng, đây là phép so sánh hai kiểu dữ liệu khác nhau. Vì vậy, true được chuyển thành dạng số và bằng 1. Mà 1 > 1 là false. Tóm lại, kết quả của phép so sánh trên là false.
Tổng kếtSau đây là những kiến thức cơ bản cần nhớ về toán tử so sánh trong JavaScript:
Thực hànhKết quả của các phép so sánh sau là gì? console.log(15 > 9); console.log("no" <= "none"); console.log("3" >= "24"); console.log("3" > 24); console.log(null < undefined); console.log(undefined == null); console.log(undefined === null); console.log(null == "\n0\n"); console.log(null === +"\n0\n"); console.log(null > -1); ★ Nếu bạn thấy bài viết này hay thì hãy theo dõi mình trên Facebook để nhận được thông báo khi có bài viết mới nhất nhé: |