Chai dung tích 500ml với nhiều kiểu dáng tròn lùn, tròn cao, tam giác, vuông thì dòng 500ml được là một trong những loại chai bán chạy và được ưa chuộng nhất của Huy Nhất. Dung tích 500ml phù hợp cho những ngày hè cần bổ sung nhiều thức uống trái cây mát hơn. Hoàn toàn an toàn khi đựng các loại nước ép cà rốt Rõ ràng, dữ liệu trong Javascript quyết định kết quả của hành vi. Khi mà dữ liệu không được định kiểu rõ ràng, kết quả không thể lường trước. không nên lạm dụng việc ép kiểu. Viết code rõ ràng nhất có thể. Tránh dùng chung biến trong những trường hợp không cần Sometimes we may need to compute derived state based on store state, for example filtering through a list of items and counting them: Trong đó: - M20 biểu thị ren tam giác hệ Mét, có đường kính thân bu lông d = 20mm, - Số 1,5 biểu thị dùng ren bước nhỏ pr=1,5 mm (nếu dùng bước ren lớn thì không cần ghi), d1 - Ký hiệu 2(Pl) chỉ ren 2 đầu mối (nếu ren 1 đầu mối thì không cần ghi, Hình 4.6: Ghi kiểu lắp mối Ép kiểu hẹp: Đưa từ kiểu có vùng lưu trữ lớn về kiểu có vùng lưu trữ nhỏècó thể bị mất mát dữ liệu; Ép kiểu rộng: int -> long -> float -> double. double x = (double)1/2; Ép kiểu hẹp: double -> float -> long -> int. int x= (int)1.0/2; Implicit type trong C# # hỗ trợ khai báo biến mà Javascript hoàn toàn không có một cấu trúc nào cho việc này, đó là lý do tại sao rất ít javascripter thậm chí hiểu được khái niệm này và tại sao rất nhiều người trong số họ hiểu sai cách nhập biến như một cái gì đó liên quan đến việc so sánh hoặc ép kiểu biến. Trong JS Nhấp vào Change Colors trong trình đơn thả xuống và chọn một bảng màu mới cho đối tượng SmartArt của bạn. Thay đổi màu SmartArt. Nếu bạn muốn tạo kiểu cá nhân, nhấp vào tab Format. Bạn có thể thay đổi màu đường viền và outline của các đối tượng riêng lẻ trong biểu đồ SmartArt của bạn. 8 loại SmartArt quan trọng (và khi nào nên sử dụng chúng) Eze8z. Variable TypesCác kiểu giá trị trong JavaScriptNhững giá trị được coi là falsetrue or not true?Loose ComparisonsMột số quy tắcMột số chú ýThe Answers Có người vẫn nói vui rằng JavaScript là “The World’s Most Misunderstood Programming Language”, bởi có rất nhiều lập trình viên Web vẫn đang làm việc, thậm chí là làm việc rất nhiều, và rất tốt với JavaScript nhưng lại không thể hiểu rõ căn bản của nó. JavaScript quả thật tuy là gần gũi, quen thuộc thật đấy nhưng đôi khi lại rất xa lạ với chúng ta ở vài mặt nào đó. Bài viết này xin được giới thiệu về một trong những mặt có phần “xa lạ” đó của JavaScript. Trước tiên, mình xin có một vài câu đố nhỏ cho các bạn. Câu hỏi rất đơn giản thôi “Các phép toán dưới đây trả về true hay false“. Bạn có thể kiểm tra câu trả lời một cách dễ dàng bằng cách mở console của trình duyệt lên và gõ câu lệnh vào đó, hoặc xem ở cuối bài viết này. false == false // It will return true. Too easy, right ? D // But how about the following ? TRUE or FALSE ? // Các phép so sánh sau trả về true hay false null == undefined null == false undefined == false NaN == NaN NaN == false NaN == true 63 == false 63 == true 0 == false "63" == true "63" == false "0" == true "0" == false !"0" == !false "" == false [] == "" [] == false [] == "0" [] == 0 [] == ![] "0" == !"0" 0 == {} [1] b a == b a = b Code language JavaScript javascript Nếu bạn có thể trả lời đúng hết, và hiểu được bản chất tại sao nó lại như vậy thì có lẽ bạn cũng đã nắm rõ hết được những gì mà bài viết này đề sẽ cập đến rồi. Còn ngược lại, hãy dành chút thời gian để đọc và tìm hiểu về những điều sẽ được giới thiệu dưới đây, và bạn sẽ tự tìm được lời giải thích cho từng đáp án. Let’s start! honho Variable Types Để trả lời được những câu hỏi trên thì trước hết ta cần phải tìm hiểu và nắm rõ được về những kiểu giá trị có trong Javascipt. Các kiểu giá trị trong JavaScript Trong Javascript phiên bản phiên bản mới nhất tính đến thời điểm thực hiện bài viết này 5/2015, có những kiểu giá trị sau booleannullundefinedstringnumberobject Ngoài ra còn một kiểu giá trị nữa, sẽ được đưa vào phiên bản tiếp theo của Javascript ES6, đó là symbol Tất các các kiểu dữ liệu khác Object được gọi là giá trị “nguyên thủy”, Primitive. Một số điều cần lưu ý Kiểu Boolean gồm 2 giá trị là true và Null chỉ gồm duy nhất một giá trị là Undefined chỉ gồm duy nhất một giá trị là undefined. Như đã biết thì để so sánh “bằng” trong Javascript, ta có thể dùng == và ===. ===, Strict Comparison hay Strict Equal, sẽ so sánh cả kiểu giá trị của 2 bên. Nếu 2 bên có kiểu giá trị khác nhau thì phép toán sẽ trả về giá trị false. Phép toán === là rất minh bạch và dễ sử dụng, ít gây hiểu nhầm hay khó khăn gì cho lập trình viên. Còn phép so sánh ==, Loose Comparison hay Loose Equal, thì sẽ tìm cách đưa một trong 2 bên về cùng kiểu giá trị với bên kia rồi thực hiện phép so sánh. Có rất nhiều cách để ép một giá trị từ kiểu này về kiểu kia, một trong những cách đơn giản nhất là sử dụng các hàm có sẵn của Javascript là Boolean, String, Number, Object … Boolean1 // true Stringnull // "null" Number" // Number"1string" // NaN String[1, 2, "string"] // "1,2,string" Code language JavaScript javascript Những giá trị được coi là false Đó là những giá trị khi được ép về kiểu Boolean sẽ cho giá trị là false. Bao gồm falseundefinednull0 Gồm cả +0 và -0NaN Not A Number"" Empty String Vậy những giá trị nào khi ép về kiểu Boolean sẽ cho giá trị là true ? Câu trả lời rất đơn giản những giá trị không nằm trong list các giá trị đã kể ở phía trên tức là ngoài false, undefined, null, 0, NaN và "" ra. true or not true? Trong các phép toán điều kiện như if, else, when … , nếu không sử dụng các toán tử so sánh, mà chỉ có biến số hay giá trị ở trong đó thì nó sẽ được ép về kiểu boolean, ví dụ if null { // It will not reach here } else if 0 { // It will not reach here } else if "" { // It will not reach here } else if 1 { // REACH here } Code language JavaScript javascript Đến đây, hãy nhìn lại list các câu hỏi được đưa ra ở đầu bài một chút. Ta có phép toán "0" == true chẳng hạn. Hãy so sánh 2 trường hợp sau nhé if "0" { // It WILL reach here } if "0" == true { // It will NOT reach here } Code language PHP php Vâng, một cái bẫy mà Javascript đã giăng ra dành cho các lập trình viên mà không phải ai cũng biết, và có thể đã mắc phải mà không hề hay. "0" cho giá trị Boolean là true, nhưng lại trả về false trong phép so sánh == với true. Vậy đâu là nguyên nhân, hãy tìm hiểu các quy tắc trong phép so sánh ở phần dưới đây. Loose Comparisons Một số quy tắc Khi thực hiện so sánh bằng phép toán ==, trong trường hợp 2 vế có giá trị thuộc những kiểu khác nhau thì sẽ có một số các quy tắc sau được áp dụng. Việc suy nghĩ cả 2 vế đều được ép về kiểu Boolean và so sánh 2 giá trị Boolean là một sai lầm. null chỉ == chính nó hoặc undefined và ngược lại. Từ quy tắc này ta thấy được phép toán null == false hay undefined == false sẽ trả về false!Khi so sánh một String với một Number thì giá trị String sẽ bị ép về kiểu Number để so so sánh một giá trị thuộc kiểu Boolean với một giá trị thuộc kiểu khác thì giá trị thuộc kiểu Boolean sẽ được ép về kiểu Number để so trị true sẽ được ép thành 1, giá trị false sẽ được ép thành lại với ví dụ là phép toán "0" == true. Đầu tiên true sẽ được chuyển thành 1, phép toán trở thành "0" == đến String "0" được ép về kiểu Number thành 0 để ta có được phép toán 0 == 1. Rõ ràng nó sẽ trả về "0" có giá trị Boolean là true, nhưng phép toán "0" == true sẽ trả về so sánh một biến có kiểu Object với một biến không phải là Object tức một giá trị thuộc nhóm Primitive boolean, number, string, null, undefined thì giá trị của Object sẽ là giá trị trả về của hàm valueOf, nếu nó là lại, nếu hàm valueOf không được định nghĩa, hoặc nó trả về giá trị không phải là Primitive, thì giá trị của Object sẽ là giá trị trả về từ hàm hàm toString cũng trả về một giá trị không phải là Primitive thì sẽ xảy ra lỗi TypeError [63] == "63" // true [3, 10] == "3,10" // true var num = { valueOf function { return 1; }, toString function { return "2"; } }; num == "1" // true num == 2 // false var num = { valueOf function { return [1]; }, toString function { return 2; } }; num == "1" // false num == 2 // true var num = { valueOf function { return [1]; }, toString function { return [2]; } }; num == "1" // TypeError Cannot convert object to primitive value Code language JavaScript javascript Hai biến cùng thuộc loại Object chỉ bằng nhau nếu chúng cùng trỏ đến một Object. [1] == [1] // false {a 1} == {a 1} // false var x = [1]; var y = [1]; x == y // false var x = y = [1]; x == y // true var x = {a 1}; var y = x; x == y // true Code language JavaScript javascript Một số chú ý NaN không bằng chính nó. Phép toán NaN == NaN hay NaN === NaN đều trả về false. NaN được thiết kế để mọi phép so sánh ==, >, =, = thực sự là một cái bẫy nữa. Như trong tiếng Việt thì ta sẽ gọi đó là phép toán lớn hơn hoặc bằng, tuy nhiên thực tế Javascript lại không dịch như vậy, nó hiểu >= là phép toán không nhỏ phép toán a >= b không phải tương đương với a > b a == b, mà nó tương đương với !a b // false a == b // false a = b // trueCode language JavaScript javascript Nguồn Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây. Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm. Định nghĩa hàm prompt trong JavaScriptCú pháp hàm prompt trong JavaScriptVí dụ về hàm prompt trong JavaScriptKết luận Bài viết này sẽ hướng dẫn bạn cách sử dụng hàm prompt trong JavaScript. Trong thế giới web, sẽ có rất nhiều lúc bạn cần lấy thông tin input từ người dùng để thực hiện các hành động khác. Hãy lấy ví dụ đơn giản hoặc tham khảo ví dụ sau đây. Nếu bạn muốn tính EMI Equated monthly installment – Trả góp hàng tháng Đây là một khoản thanh toán cố định mà người đi vay phải trả cho người cho vay vào một ngày cụ thể mỗi tháng theo lịch dựa trên thời hạn vay của người dùng đó. Bạn sẽ cần người dùng nhập các input mà bạn muốn để máy tính áp dụng vào công thức và tính toán. Với JavaScript có một cách siêu nhanh mà lại dễ, đó là sử dụng hàm prompt trong JavaScript. >> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng lập trình Hàm promt trong JavaScript được sử dụng để hiển thị hộp thoại thông báo nhắc người dùng nhập vào dữ liệu dưới dạng văn bản. Khi hộp thoại thông báo hiện lên, nó sẽ đợi cho đến khi người dùng gửi văn bản đó hoặc từ chối nhập dữ liệu và huỷ hộp thoại. Lúc đó, hộp thoại thông báo sẽ bị đóng. Trong một số trường hợp, ví dụ khi người dùng chuyển đổi các tab, trình duyệt có thể không thực sự hiển thị hộp thoại hoặc có thể không đợi người dùng gửi văn bản hoặc hủy hộp thoại. Hộp thoại thông báo này không chứa bất cứ HTML hay CSS nào, nó hiển thị như thế nào phụ thuộc vào hệ điều hành và trình duyệt người dùng đang sử dụng. Nội dung thông báo tới người dùng thường là các câu hỏi để lấy dữ liệu từ người dùng như “Bạn tên là gì?”, “Bạn bao nhiêu tuổi?”, “Bạn học trường gì?”,… Cú pháp hàm prompt trong JavaScript Cú pháp default;Code language JavaScript javascript Bạn cũng có thể thay thế bằng prompt, vì khi bỏ tiền tố window đi thì JavaScript vẫn hiểu rằng bạn đang muốn hiển thị hộp thoại thông báo. promptmessage, default; promptmessage; prompt;Code language JavaScript javascript Trong đó, message là một chuỗi chứa thông tin mà bạn muốn hiển thị cho người dùng, default là một chuỗi chứa giá trị mặc định được hiển thị trong trường nhập văn bản. Lưu ý rằng trong Internet Explorer 7 và 8, nếu bạn không cung cấp tham số này, thì chuỗi “undefined” là giá trị mặc định. Và 2 tham số này KHÔNG BẮT BUỘC. Hàm prompt trong JavaScript trả về một chuỗi văn bản do người dùng nhập hoặc null nếu họ không nhập. Ví dụ Hiển thị một thông báo prompt"Bạn thích con vật gì nhất?";Code language JavaScript javascript Rất đơn giản phải không nào! Ví dụ về hàm prompt trong JavaScript Đầu tiên, chúng ta sẽ ứng dụng 3 dòng lệnh về hàm prompt trong JavaScript đã được định nghĩa trong phần trước nhé! Ví dụ 1 Sử dụng cả 2 tham số message và default // promptmessage, default; prompt"Bao giờ mới giàu đây?", "10 năm nữa";Code language JavaScript javascript Ví dụ 2 Sử dụng tham số message // promptmessage; prompt"Bao giờ mới giàu đây?";Code language JavaScript javascript Ví dụ 3 Không sử dụng bất cứ tham số nào // prompt; prompt;Code language JavaScript javascript Qua 3 ví dụ trên, ta chỉ cần lưu ý, với tham số default, nó sẽ là giá trị mặc định và thay đổi khi người dùng thay đổi văn bản. Còn tham số message, nếu có sẽ giúp người dùng hiểu được bạn đang muốn làm gì. Tiếp theo là ví dụ về phần văn bản sau khi người dùng gửi văn bản hoặc huỷ hộp thoại. Ví dụ 4 Gửi văn bản hoặc huỷ hộp thoại Trong ví dụ này, người dùng được yêu cầu nhập tên của mình vào hộp thoại, mặc định là “Harry Potter”. Nếu người dùng để trống tên hoặc huỷ hộp thoại, dòng chữ “Buồn quá, bạn không muốn nhập tên!” sẽ hiển thị. Ngược lại sẽ là lời chào “Xin chào” cùng với tên của bạn. let person = prompt"Mời bạn nhập tên của mình", "Harry Potter"; let text; if person == null person == "" { text = "Buồn quá, bạn không muốn nhập tên!"; } else { text = "Xin chào " + person + "!"; } language JavaScript javascript Result Bạn hãy thử các trường hợp mình đã nêu ở trên để kiểm chứng cách hoạt động của hàm prompt trong JavaScript nhé! Ví dụ 5 Sử dụng hàm prompt cho nhiều dữ liệu Mỗi lần chạy, hàm prompt chỉ có thể lấy duy nhất 1 chuỗi văn bản. Vì vậy, nếu bạn muốn lấy nhiều dữ liệu, bạn phải hiển thị thông báo nhiều lần để yêu cầu người dùng nhập dữ liệu. let diemToan = prompt"Mời nhập điểm Toán"; let diemVan = prompt"Mời nhập điểm Văn"; let diemAnh = prompt"Mời nhập điểm Anh"; // Ép kiểu từ String sang Number let diemTrungBinh = NumberdiemToan + NumberdiemVan + NumberdiemAnh / 3; // Lấy chữ số thập phân đầu tiên sau dấu phẩy language JavaScript javascript Trong ví dụ này, chúng ta sẽ tính điểm trung bình dựa trên điểm 3 môn Toán, Văn, Anh. Kết quả sẽ tính đến chữ số thập phân đầu tiên sau dấu phẩy. Vì giá trị trả về của hàm prompt là một chuỗi nên để tính toán được, bạn cần chuyển đổi kiểu dữ liệu từ chuỗi sang số String sang Number. Nếu không, kết quả sẽ trả về NaN Not a Number. Result Xem thêm về Ép kiểu trong JavaScript tại đây! Kết luận Hàm prompt trong JavaScript sẽ hiển thi hộp thoại thông báo khi muốn lấy thông tin input từ người dùng để thực hiện các hành động khác. Chắc chắn bạn sẽ sử dụng hàm này nhiều trong quá trình học. Vì vậy, hãy ghi nhớ các cách dùng và trường hợp sử Cảm ơn bạn đã đọc! Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây. Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm. TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦUKHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG Trong bài này chúng ta sẽ tìm hiểu về chuỗi string trong Javascript, qua đó bạn sẽ biết được cách tạo và nối chuỗi cũng như ép kiểu dữ liệu sang viết này được đăng tại không được copy dưới mọi hình thức. Chuỗi là một loại kiểu dữ liệu quan trọng và thông dụng trong thực tế. Khi bạn cần lưu trữ thông tin vào trong cơ sở dữ liệu thì hơn 90% sẽ được lưu dưới dạng chuỗi. Chính vì vậy bạn cần phải tìm hiểu thật kỹ về các thao tác cũng như những hàm xử lý chuỗi đang có sẵn trong js. Ở các bài trước chúng ta đã thực hiện khá nhiều ví dụ có sử dụng chuỗi nhưng chưa tìm hiểu về nó nên bây giờ ta tìm hiểu định nghĩa chính xác. 1. Chuỗi string trong Javascript là gì? Chuỗi là một đoạn text có thể có một hoặc nhiều ký tự và thông thường chúng ta sẽ lưu trữ nó vào một biến, biến này ta sẽ gọi là biến có kiểu dữ liệu là String chuỗi. Tất cả các chuỗi đều phải được bao quanh bằng cặp dấu nháy đơn ' hoặc nháy kép ".Bài viết này được đăng tại [free tuts .net] Ví dụ Khai báo biến và gán chuỗi string JS var website = "website học javascript quá sướng"; var email = 'thehalfheart Trường hợp trong chuỗi cũng có xuất hiện dấu nháy đơn hoặc nháy đôi thì bắt buộc bạn phải thêm ký tự \ đằng trước dấu nháy đó, nếu không sẽ bị lỗi về cũ pháp. Ví dụ Trong chuỗi string có dấu nháy var message = "Học lập trình tại \" quá sướng"; var domain = ' - 'web học lập trình''; Ngoài ra còn nhiều ký hiệu kết hợp với dấu \ nữa như trong bảng dưới đây Code Kết quả ' single quote \" double quote \\ backslash \n new line \r carriage return \t tab \b backspace \f form feed 2. Cách nối chuỗi string trong Javascript Để nối chuỗi string trong JS thì chúng ta sử dụng dấu + để gép hai chuỗi hoặc biến kiểu String Object lại với nhau. Ví dụ Ghép hai string lại rồi gán vào biến message. var message = "chào mừng bạn" + "đến với Hoặc var message1 = "chào mừng bạn"; var message2 = "đến với // Nối hai chuỗi var message = message1 + message2; 3. Xử lý string trên nhiều dòng trong Javascript Khi bạn muốn Enter xuống hàng một chuỗi trong Javascript thì bắt buộc phải sử dụng dấu + để nối chuỗi, nếu không sẽ bị lỗi cú pháp. Ví dụ Dùng dấu + để nối chuỗi // Đúng var message = "Chào mừng bạn đến với" + " // Sai var message = "Chào mừng bạn đến với Nếu bạn muốn viết gọn hơn thì sử dụng dấu \ để báo cho trình duyệt biết là có xuống hàng. Ví dụ Dùng ký tự \ để khai báo chuỗi trên nhiều dòng. var message = "Chào mừng bạn đến với \ Hoặc bạn cũng có thể sử dụng dấu `nội dung chuỗi` để khai báo. Ví dụ Dùng cặp dấu ``. var message = `Chào mừng bạn đến với 4. Ép chuỗi string trong javascript Nếu bạn muốn ép một giá trị nào đó sang kiểu chuỗi thì có thể sử dụng cú pháp // Trước khi chuyển đổi var number = 12; alerttypeof number; // Sau khi chuyển đổi number = alerttypeof number; Từ khóa typeof vars sẽ trả về kiểu dữ liệu của biến vars. Ngoài cách trên bạn có thể sử dụng đối tượng String để tạo hoặc ép chuỗi, và vì là đối tượng nên nó phải có từ khóa new đặt đằng trước. Ví dụ Sử dụng String object hoặc String function. // String object var message = new String"chào mừng bạn đến với // String function var message = String"chào mừng bạn đến với Lúc này dù bạn truyền vào là kiểu gì đi nữa thì kết quả nó vẫn trả về kiểu string. Tuy nhiên người ta khuyến khích bạn không nên sử dụng cách này bởi vì chương trình sẽ chạy chậm hơn. 5. Một số hàm xử lý string trong Javascript Sau đây mình xin tổng hợp một số hàm / phương thức / thuộc tính dùng để xử lý chuỗi string trong JS. Đếm số ký tự trong chuỗi Để đếm tổng số ký tự trong chuỗi string thì ta sử dụng thuộc tính length. var txt = " var sln = // Kết quả 12 Tìm kiếm chuỗi trong chuỗi Nếu muốn tìm kiếm một chuỗi bên trong một chuỗi khác thì dùng hàm indexOf. Nếu tìm thấy thì nó sẽ trả về vị trí xuất hiện đầu tiên của chuỗi con. Nếu không tìm thấy thì tra về -1. var str = "Please locate where 'locate' occurs!"; var pos = // Kết quả 7 Nếu muốn tìm vị trí xuất hiện cuối cùng của chuỗi con thì dùng hàm lastIndexOf. var str = "Please locate where 'locate' occurs!"; var pos = // Kết quả 21 - là vị trí locate cuối cùng Ngoài ra bạn cũng có thể sử dụng hàm search, nó có công dụng giống như hàm indexOf. var str = "Please locate where 'locate' occurs!"; var pos = Lời kết Như vậy là chúng ta đã học xong cách xử lý chuỗi string trong Javascript, qua bày này hy vọng bạn hiểu cú pháp / cách tạo chuỗi / các thao tác thường dùng trên chuỗi. Ép kiểu ngầm định trong JavaScriptÉp kiểu tường minh trong JavaScript1. Ép kiểu tường minh thành number2. Ép kiểu tường minh thành chuỗi3. Ép kiểu tường minh thành BooleanBảng ép kiểu trong JavaScript Quá trình chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác được gọi là chuyển đổi kiểu hay ép kiểu. Có hai loại ép kiểu trong JavaScript. Ép kiểu ngầm định Implicit Conversion Ép kiểu tường minh Explicit Conversion Ví dụ alert sẽ tự động chuyển bất kỳ kiểu dữ liệu nào về string để hiển thị chúng, các toán tử toán học sẽ tự động chuyển về kiểu number để thực hiện tính toán. Tuy nhiên trong nhiều trường hợp chúng ta muốn chuyển đổi kiểu về kiểu dữ liệu mà chúng ta mong muốn. Trong bài này chúng ta sẽ tìm hiểu về các cách thay đổi kiểu dữ liệu. >> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng bản thân Trong một số tình huống nhất định, JavaScript tự động chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác chuyển sang kiểu phù hợp. Đây được gọi là Ép kiểu ngầm định. Ví dụ 1 Ép kiểu ngầm định thành chuỗi // numeric string used with + gives string type let result; result = '3' + 2; // "32" result = '3' + true; // "3true" result = '3' + undefined; // "3undefined" result = '3' + null; // "3null"Code language JavaScript javascript Lưu ý Khi một số được thêm vào một chuỗi, JavaScript sẽ chuyển đổi số đó thành một chuỗi trước khi nối. Ví dụ 2 Ép kiểu ngầm định thành number // numeric string used with +, - , / , * results number type let result; result = '4' - '2'; // 2 result = '4' - 2; // 2 result = '4' * 2; // 8 result = '4' / 2; // 2Code language JavaScript javascript Ví dụ 3 Sử dụng các toán tử +, - , / , * với chuỗi, kết quả sẽ là NaN // non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; // NaN result = '4' - 'hello'; // NaNCode language JavaScript javascript Ví dụ 4 Ép kiểu ngầm định Boolean thành number // if boolean is used, true is 1, false is 0 let result; result = '4' - true; // 3 result = 4 + true; // 5 result = 4 + false; // 4Code language JavaScript javascript Lưu ý JavaScript coi 0 là false và tất cả các số khác 0 là true. Và nếu true được chuyển đổi thành một số, kết quả luôn là 1. Ví dụ 5 Ép kiểu ngầm định null thành number // null is 0 when used with number let result; result = 4 + null; // 4 result = 4 - null; // 4Code language JavaScript javascript Ví dụ 6 Undefined kết hợp với number, boolean và null // Arithmetic operation of undefined with number, boolean and null gives NaN let result; result = 4 + undefined; // NaN result = 4 - undefined; // NaN result = true + undefined; // NaN result = null + undefined; // NaNCode language JavaScript javascript Ép kiểu tường minh trong JavaScript Bạn cũng có thể chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác theo ý muốn của mình. Chuyển đổi kiểu dữ liệu mà bạn thực hiện theo cách thủ công được gọi là Ép kiểu tường minh. Trong JavaScript, các ép kiểu tường minh được thực hiện bằng cách sử dụng các phương thức có sẵn. Dưới đây là các ép kiểu tường minh thường được sử dụng 1. Ép kiểu tường minh thành number Để ép kiểu chuỗi và boolean thành number, bạn có thể sử dụng Number. Ví dụ let result; // string to number result = Number'324'; // 324 result = Number'324e-1' // // boolean to number result = Numbertrue; // 1 result = Numberfalse; // 0Code language JavaScript javascript Trong JavaScript, chuỗi rỗng và giá trị null trả về 0. Ví dụ let result; result = Numbernull; // 0 let result = Number' ' // 0Code language JavaScript javascript Nếu một chuỗi là một số không hợp lệ, kết quả sẽ là NaN. Ví dụ let result; result = Number'hello'; // NaN result = Numberundefined; // NaN result = NumberNaN; // NaNCode language JavaScript javascript Lưu ý Bạn cũng có thể tạo các số từ các chuỗi bằng cách sử dụng parseInt, parseFloat, toán tử một ngôi + và Ví dụ let result; result = parseInt' // 20 result = parseFloat' // result = +' // result = // 20Code language JavaScript javascript 2. Ép kiểu tường minh thành chuỗi Để chuyển đổi các kiểu dữ liệu khác thành chuỗi, bạn có thể sử dụng String hoặc toString. Ví dụ //number to string let result; result = String324; // "324" result = String2 + 4; // "6" //other data types to string result = Stringnull; // "null" result = Stringundefined; // "undefined" result = StringNaN; // "NaN" result = Stringtrue; // "true" result = Stringfalse; // "false" // using toString result = 324.toString; // "324" result = // "true"Code language JavaScript javascript 3. Ép kiểu tường minh thành Boolean Để chuyển đổi các kiểu dữ liệu khác thành boolean, bạn có thể sử dụng Boolean. Trong JavaScript, undefined, null, 0, NaN, ' ' sẽ chuyển thành false. Ví dụ let result; result = Boolean''; // false result = Boolean0; // false result = Booleanundefined; // false result = Booleannull; // false result = BooleanNaN; // falseCode language JavaScript javascript Còn những giá trị khác sẽ cho kết quả là true. Ví dụ result = Boolean324; // true result = Boolean'hello'; // true result = Boolean' '; // trueCode language JavaScript javascript Bảng ép kiểu trong JavaScript Dưới đây là bảng hiển thị việc chuyển đổi các giá trị khác nhau thành Chuỗi, Số và Boolean trong JavaScript. Giá trịÉp kiểu thành chuỗiÉp kiểu thành sốÉp kiểu thành Boolean1“1”1true0“0”0false“1”“1”1true“0”“0”0true“ten”“ten”NaNtruetrue“true”1truefalse“false”0falsenull“null”0falseundefined“undefined”NaNfalse”“”0false ” “0true Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây. Tìm hiểu thêm về Clean Code tại Ép kiểu ngầm trong javascript là sự chuyển đổi tự động của giá trị từ kiểu dữ liệu này sang kiểu khác. Nó xảy ra khi thực hiện một biểu thức với các kiểu dữ liệu khác nhau. Ép kiểu String Ép kiểu string xảy ra khi dùng toán tử +. Một số cộng với một chuỗi, kiểu số sẽ bị ép thành kiểu chuỗi. Ví dụ var x = 3; var y = "3"; x + y; // Returns "33" var x = 24; var y = "Hello"; x + y; // Returns "24Hello"; Để hiểu về hai ví dụ khi ta cộng một số vào chuỗi, thì khi JavaScript thấy biểu thức x+y với hai kiểu khác nhau một số và một chuỗi, nó chuyển đổi kiểu số thành chuỗi để thực hiện hành động. Sau khi ... Bạn cần đăng nhập để xem

ép kiểu trong javascript