ép kiểu trong javascript
1 Các lớp Date, time, calendar trong Java. 2 System.currentTimeMillis () 3 TimeUnit. 4 java.util.Date. 5 Date, Time, Timestamp (java.sql) 6 java.util.Calendar. 7 Chuyển đổi giữa Date và Calendar. 8 Chuyển đổi kiểu dữ liệu giữa Date và Timestamp trong Java. 9 Chuyển đổi kiểu dữ liệu giữa String và Date
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ụ:
Array (Mảng) Mảng là một tập hợp các kiểu dữ liệu giống nhau và được xác định tại những vị trí liều kề nhau trong bộ nhớ. Các phần tử của mảng có thể được truy cập trực tiếp qua chỉ số của phần tử đó trong mảng. Trong C#, khi một mảng được tạo ra, chúng
Kiểu dữ liệu của num_str trước khi ép kiểu: Kiểu dữ liệu của num_str sau khi ép kiểu: Tổng của num_int và num_str: 579 Kiểu dữ liệu của sum: Trong ví dụ trên thì bạn thấy mình đã sử dụng hàm int () để thực hiện chuyển đổi, ép kiểu một cách rõ ràng. 1 num_str = int(num_str) 3.
Giới thiệu về Công ty chúng tôi: Ý nghĩa quà tặng doanh nghiệp: Túi nhựa PVC trở thành trào lưu hot năm 2022 : Công ty TNHH Truyền Thông Tân Thành Dương là một trong những nhà sản xuất chuyên nghiệp lớn nhất túi PVC/EVA và áo mưa ở Việt Nam, cũngxem thêm Từ trước tới nay, dù trong ngành nghề kinh doanh hay không, quà
Ich Möchte Gerne Einen Mann Kennenlernen. 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.
É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
Định nghĩa hàm push trong JavaScriptCú pháp hàm push trong JavaScript Gán giá trị cho mảngLàm thế nào để thêm một mảng vào mảng khác?Sử dụng hàm push với ObjectKết luận Trong bài viết này, chúng ta sẽ tìm hiểu về hàm push trong JavaScript. Nếu như ở các ngôn ngữ lập trình khác, việc thêm phần tử vào cuối mảng diễn ra một cách thủ công từ việc bạn phải tăng số lượng phần tử trong mảng rồi đi gán giá trị cho phần tử đó. Nhưng với JavaScript thì linh hoạt hơn, bạn sẽ không phải mất nhiều công đoạn cho việc này. >> 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 push trong JavaScript được sử dụng để thêm một hoặc nhiều phần tử vào trong mảng. Phần tử được thêm sẽ nằm ở vị trí cuối mảng. Khác với hàm push, hàm unshift sẽ thêm một hoặc nhiều phần tử vào trong mảng nhưng phần tử được thêm sẽ nằm ở vị trí đầu mảng. Cú pháp hàm push trong JavaScript Cú pháp item2, item3,..., itemNCode language CSS css Trong đó Tham sốMô tảarrayMảng cần thêm phần tửitem1, item2, item3,…, itemNPhần tử cần được thêm Ví dụ Thêm 1 phần tử vào vị trí cuối cùng của mảng let arr = [0, 1, 2, 3]; // [0, 1, 2, 3, 4]Code language JavaScript javascript Trong ví dụ trên, câu lệnh thêm phần tử 4 vào vị trí cuối cùng trong mảng. Hàm push chấp nhận số lượng đối số không giới hạn và bạn có thể thêm bấy nhiêu phần tử tùy thích vào cuối mảng. let arr = [0, 1, 2, 3]; 5, 6, 7, 8, 9; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Code language JavaScript javascript Hàm push trả về độ dài mới của mảng. let arr = [0, 1, 2, 3]; let newLength = // 5Code language JavaScript javascript Gán giá trị cho mảng Gán mảng hiện tại là kết quả của hàm push. Đây là một lỗi rất cơ bản mà nhiều bạn mắc phải. let arr = [0, 1, 2, 3]; arr = // 5Code language JavaScript javascript Để tránh lỗi này, bạn cần nhớ rằng push sẽ trả về độ dài mới của mảng. Nếu bạn gán giá trị cho mảng với giá trị là kết quả của hàm push thì có nghĩa là bạn đang ghi đè giá trị mảng bằng độ dài mới của mảng. Trong ví dụ trên, mảng arr được ghi đè bằng giá trị 5 độ dài mới của mảng. Làm thế nào để thêm một mảng vào mảng khác? Nếu bạn muốn thêm các phần tử của một mảng vào cuối mảng khác, bạn cũng có thể lựa chọn hàm push để sử dụng. let arr1 = [0, 1, 2, 3]; let arr2 = [4, 5, 6, 7]; let arr3 = // [0, 1, 2, 3, 4, 5, 6, 7]Code language JavaScript javascript Hàm push sẽ thêm tất cả các đối số nên từ khi ES6 ra mắt, chúng ta có thể sử dụng Spread Operator trong trường hợp này. let arr1 = [0, 1, 2, 3]; let arr2 = [4, 5, 6, 7]; // [0, 1, 2, 3, 4, 5, 6, 7]Code language JavaScript javascript Spread Operator trong JavaScript Sử dụng hàm push với Object Có những đối tượng tương tự như mảng như đối tượng arguments – đối tượng cho phép truy cập vào tất cả các đối số của một hàm, nhưng nó không có tất cả các hàm mà mảng có. Để có thể sử dụng hàm push hoặc các hàm khác, trước tiên chúng phải được ép kiểu thành mảng. function myFunc { let args = [...arguments]; returns args; } 1, 2, 3; // [0, 1, 2, 3, 4]Code language JavaScript javascript Nếu bạn không ép kiểu đối tượng arguments thành một mảng, thông báo lỗi sẽ được hiển thị trong console. TypeError is not a functionCode language JavaScript javascript Ép kiểu trong JavaScript Kết luận Hàm push trong JavaScript sẽ thêm một hoặc nhiều phần tử vào trong mảng và trả về độ dài mới của mảng đó. Hãy ghi nhớ cách sử dụng của hàm này vì nếu bạn vẫn còn làm việc với JavaScript thì bạn sẽ sử dụng nó thường xuyên đấy. 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. CẨM NANG LẬP TRÌNH CĂN BẢN CHO NGƯỜI MỚI BẮT ĐẦU
ép kiểu trong javascript