Các kiểu dữ liệu trong php và lập trình web php, hướng dẫn sử dụng và cách khai báo các kiểu dữ liệu trong php đầy đủ chi tiết như kiểu dữ liệu mảng, integer, boolean, float JAVASCRIPT. JAVASCRIPT. JQUERY. TYPESCRIPT. VUEJS. NODEJS. ANGULARJS. HTML - CSS. HTML. CSS. CSS 3. SASS CSS. BOOTSTRAP
Biến và các kiểu dữ liệu trong Dart. OK, như vậy là trong Bài 1.Cấu trúc một chương trình Flutter/Dart, các bạn đã biết sơ qua về cấu trúc và cách chạy (biên dịch) một chương trình viết bằng Dart/Flutter.. Tuy nhiên, một chương trình tin học thông thường gồm rất nhiều câu lệnh xử lý trên dữ liệu (dữ liệu do
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 chuỗi. Nội dung chính 1. Chuỗi string trong Javascript là gì?2. Cách nối chuỗi string trong Javascript3. Xử lý string trên nhiều dòng trong Javascript4. Ép chuỗi string trong javascript5.
Nhựa dẻo PVC: Xu hướng thời trang "trong suốt" quay trở lại mạnh mẽ trong mùa hè 2022; Túi nhựa PVC trở thành trào lưu hot năm 2022; Ưu điểm và ứng dụng của màng nhựa PVC trong mềm; Túi nhựa PVC; Ứng dụng nhựa PVC
Ngôn ngữ HTML Ngôn ngữ CSS Javascript Bootstrap 4. Phát triển Website. Ngôn ngữ PHP Ngôn ngữ ASP.NET ADO.NET ASP.NET - MVC. Entity Framework. EF Core EF 6 EF Code-First. Phát triển Mobile. Lập trình Flutter Lập trình Kotlin Lập trình Android. Cơ sở dữ liệu.
TUcUg. Trong bài này mình sẽ hướng dẫn các bạn cách ép kiểu dữ liệu trong Javascript, bằng cách sủ dung những hàm kép kiểu có sẵn trong Javascript là bạn có thể chuyển đổi viết này được đăng tại không được copy dưới mọi hình thức. Việc ép kiểu dữ liệu rất quan trọng, nó giúp các phép toán trên các biến chuẩn xác hơn. Ví dụ khi bạn cộng hai số thì nếu đều là kiểu number thì kết quả sẽ chuẩn hơn là bạn cộng một chuỗi với một number. Sau đây là chi tiết. 1. Lưu ý khi ép kiểu dữ liệu trong Javascript Trong Javascript có 5 kiểu dữ liệu đơn giản gồm string / number / boolean / object / function. 6 kiểu dữ liệu Object Object / Date / Array / String / Number/ Boolean. 2 kiểu dữ liệu không chứa dữ liệu nào cả ull / undefined. Bạn nên nhớ rằng các kiểu dữ liệu trong Javascript bản chất đều là những Object, vì vậy khi muốn sử dụng một thuộc tính thì phải chắc chắn rằng bạn đã sử dụng đúng thuộc tính của object viết này được đăng tại [free tuts .net] Ví dụ Trong object Number có phương thức toString dùng để chuyển đổi kiểu Number sang String. Nhưng nếu bạn sử dụng phương thức này bên một String object thì sẽ bị báo lỗi không tồn tại. Dùng Type of để kiểm tra kiểu dữ liệu Để kiểm tra kiểu dữ liệu của một biến thì ta có thể dùng từ khóa type of. typeof "Cuong" // Returns "string" typeof // Returns "number" typeof NaN // Returns "number" typeof false // Returns "boolean" typeof [1,2,3,4] // Returns "object" typeof {name'Cuong', age34} // Returns "object" typeof new Date // Returns "object" typeof function {} // Returns "function" typeof myCar // Returns "undefined" * typeof null // Returns "object" Kết quả trả về là tên của đối tượng kiểu dữ liệu mà biến đang thuộc về. Đối với các giá trị thông thường như chuỗi, số thì dễ hiểu đó là String và Number. Nhưng đối với các kiểu đặc biệt thì bạn cần chú ý như sau NaN là Number Array, Object là Object Ngày tháng Date là Object Null là Object Biến chưa gán dữ liệu là undefined. Biến chưa được khai báo cũng là undefined. Dùng constructor để kiểm tra kiểu dữ liệu Mỗi đối tượng trong Javascript sẽ có một thuộc tính constructor, nó là tên hàm khởi tạo nên bạn có thể tận dụng để kiểm tra kiểu dữ liệu của biến trước khi ép kiểu Javascript. "Cuong".constructor // Returns function String {[native code]} // Returns function Number {[native code]} // Returns function Boolean {[native code]} [1,2,3,4].constructor // Returns function Array {[native code]} {name'Cuong',age34}.constructor // Returns function Object {[native code]} new Date.constructor // Returns function Date {[native code]} function {}.constructor // Returns function Function{[native code]} 2. Cách ép kiểu dữ liệu trong Javascript Mình sẽ chia ra từng trường hợp ép kiểu trong Javascript để các bạn dễ theo dõi nhé. Ép kiểu INT sang kiểu String Để ép dữ liệu sang kiểu String thì bạn sử dụng hàm global String. Stringx // Trả về giá trị x kiểu String String123 // Trả về giá trị string "123" String100 + 23 // Trả về giá trị string là "123" Ngoài ra, bạn cũng có thể sử dụng phương thức toString để chuyển đổi sang kiểu string. Như ví dụ sau cho kết quả tương đương. 123.toString 100 + 23.toString Ép kiểu Date sang String Tương tự, bạn cũng có thể sử dụng hàm String hoặc phương thức toString. StringDate // Trả về "Thu Jul 17 2021 153819 GMT+0200 W. Europe Daylight Time" Dùng toString cũng cho kết quả tương đương. Date.toString // Trả về "Thu Jul 17 2014 153819 GMT+0200 W. Europe Daylight Time" Ép kiểu String sang Number Ta sử dụng hàm Number như sau Number" // returns Number" " // returns 0 Number"" // returns 0 Number"99 88" // returns NaN Hoặc có thể sử dụng hai hàm parseInt => Chuyển sang kiểu integer. parseFloat => Chuyển sang kiểu float có dấu phẩy động. Dùng toán tử + đặt trước chuỗi String cũng giúp ta chuyển từ String sang Number. var y = "5"; // y là string var x = + y; // x là number Ví dụ dưới đâ trả về NaN bởi vì bên trong chuỗi không phải là các ký tự số. var y = "Cuong"; // y là string var x = + y; // x là number NaN Ép kiểu Date sang Number Đối với đối tượng Date thì đơn vị number của nó là milisecond. Vì vậy khi bạn ép từ Date sang Number thì nó sẽ chuyển ngày sang milisecond. d = new Date; Numberd // Trả về 1404568027739 Hoặc sử dụng phương thức getTime có sẵn trong đối tượng Date cũng cho kết quả tương đương. d = new Date; // returns 1404568027739 Ép sang kiểu Boolean Chúng ta có hai cách, đầu tiên là sử dụng hàm Boolean. const number = 100; Booleannumber; // true Cách thứ hai là sử dụng hai lần toán tử phủ định !. const number = 100; !!number; // true 3. Bảng chuyển đổi / ép kiểu dữ liệu trong Javascript Dưới đây là bảng chuyển đổi giữa các kiểu dữ liệu với nhau. Bạn hãy tham khảo để biết từng trường hợp xảy ra khi sử dụng nhé. Giá trị Ép sang Number Ép sang String Ép sang Boolean false 0 "false" false true 1 "true" true 0 0 "0" false 1 1 "1" true "0" 0 "0" true "000" 0 "000" true "1" 1 "1" true NaN NaN "NaN" false Infinity Infinity "Infinity" true -Infinity -Infinity "-Infinity" true "" 0 "" false "20" 20 "20" true "twenty" NaN "twenty" true [ ] 0 "" true [20] 20 "20" true [10,20] NaN "10,20" true ["twenty"] NaN "twenty" true ["ten","twenty"] NaN "ten,twenty" true function{} NaN "function{}" true { } NaN "[object Object]" true null 0 "null" false undefined NaN "undefined" false
É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
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ún Domain Liên kết Bài viết liên quan ép kiểu trong javascript JavaScript Ép kiểu Các kiểu dữ liệu cơ bản trong JavaScript. ... JavaScript Kiểu dữ liệu số. JavaScript Toán tử. JavaScript Symbol. JavaScript Ép kiểu. Mảng trong Javascript. ... JavaScript Mảng đa chiều. Kiểm soát Xem thêm Chi Tiết
Thông thường, các toán tử và các hàm sẽ tự động chuyển đổi kiểu của giá trị về đúng. Ví dụ như 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. String Conversion 1. String Khi chúng ta cần chuyển đổi kiểu của một value sang string chúng ta có thể sử dụng String var x = 15; var y = Stringx; alerttypeofy; // string //Hoặc khi ta có 1 mảng var a = [1, 2, 3]; var b = Stringa; alertb; // 1,2,3 alerttypeofb; // string //Tuy nhiên khi ta áp dụng với Object var obj = {1 'a', 2 'b'}; var objToString = Stringobj; alertobjToString; // [object Object] 2. toString Ngoài việc sử dụng String thì chúng ta có vẻ quen thuộc hơn với toString, nó cũng sẽ ép kiểu các giá trị về string var x = 15; var y = alerttypeofy; // string //Hoặc khi ta có 1 mảng var a = [1, 2, 3]; var b = alertb; // 1,2,3 alerttypeofb; // string //Và áp dụng với Object cũng chưa ra được kq mong muốn var obj = {1 'a', 2 'b'}; var objToString = alertobjToString; // [object Object] 3. Sử dụng toán tử cộng "+" Khi sử dụng toán tử, chúng ta đặc biệt phải lưu ý đến toán tử + khi toán hạng có kiểu string. Khi chúng ta sử dụng toán tử + mà một trong các toán hạng có kiểu là string thì Javascript sẽ cố gắng ép kiểu của toán hạng còn lại về kiểu string. Hãy cùng xem ví dụ dưới đây // Trong trường hợp có 2 toán hạng, 1 trong 2 toán hạng có kiểu là "string" // thì JS sẽ ép kiểu của toán hạng còn lại về "string" alert"1" + 1; // "11" alert1 + "1"; // "11" // Trong trường hợp có nhiều hơn 2 toán hạng và 1 trong các toán hạng có kiểu là "string" // thì tùy vào vị trí của toán hạng kiểu "string" mà ta có các kq khác nhau. alert1 + 2 + "string" + 3 + 4; // "3string34" alert1 + "string" + 2 + 3 + 4; // "1string234" alert1 + 2 + 3 + 4 + "string"; // "10string" // Chúng ta sẽ chuyển đổi kiểu như thế nào? var x = 15; var y = "" + 15; alerty; // "15" Numeric Conversion 1. Number Khi chúng ta muốn chuyển đổi từ một giá trị khác sang giá trị kiểu number, chúng ta có thể sử dụng Number var x = "123"; var y = Numberx; alerty; // 123 // Hoặc với các giá trị true/false var a = Numbertrue; alerta; // 1 // còn Numberfalse, Number'', Number[] hoặc Numbernull sẽ trả về 0 // Khi chúng ta truyền vào Number một string không phải chứa toàn là số // thì sẽ trả về NaN Not a Number var string = "string"; var toNumber = Numberstring; alerttoNumber; // NaN // Ngoài ra khi truyền vào Object, undefined //hoặc array có length > 2 hoặc có 1 giá trị nhưng không phải number hoặc string là số thì cũng trả về NaN 2. parseInt/parseFloat parseInt sẽ chuyển đổi kiểu của một string về kiểu number nhưng ở dạng interger số nguyên parseInt sẽ trả về các số nằm đầu tiên trong giá trị string đó, nếu chuỗi đó không thể chuyển thành number thì nó sẽ trả về NaN. Cùng xét ví dụ sau var a = parseInttrue; // NaN var b = parseInt" // 10 var c = parseInt" // 10 var d = parseInt"34 45 66"; // 34 var e = parseInt" 60 "; // 60 var f = parseInt"40 years"; // 40 var g = parseInt"He was 40"; // NaN parseFloat sẽ chuyển đổi kiểu của một string về kiểu number nhưng ở dạng float số thực parseFloat cũng gần giống như parseInt. Cùng xét ví dụ sau var a = parseInttrue; // NaN var a = parseFloat"10"; // 10 var b = parseFloat" // 10 var c = parseFloat" // var d = parseFloat"34 45 66"; // 34 var e = parseFloat" 60 "; // 60 var f = parseFloat"40 years"; // 40 var g = parseFloat"He was 40"; // NaN 3. Sử dụng toán tử "+" Tại sao vừa rồi ở trên chúng ta nói đến việc sử dụng + để chuyển kiểu về string mà dưới đây chúng ta lại dùng nó để chuyển kiểu về number. Chúng ta cùng xem ví dụ dưới đây var x = "15"; var y = +x; alerty; // 15 alerttypeofy; // number Khi chúng ta thêm + và trước giá trị thì nó sẽ chuyển đổi về kiểu number không giống như khi chúng ta sử dụng + trong một phép toán. Và nó cũng trả về các kết quả giống như sử dụng Number trong các trường hợp cụ thể var a = +false; // 0 === +"", +[], +null var b = +true; // 1 var c = +"123"; // 123 var d = +"abc"; // NaN var e = +[1]; // 1 === +["1"] var f = +["a"]; // NaN var g = +{}; // NaN Ngoài ra, khi chúng ta tính toán sử dụng các toán tử -, *, /, %, ** thì Javascript cũng sẽ cố gắng chuyển đổi kiểu các toàn hạng về number. Boolean Conversion Thường khi viết code Javascript chúng ta ít khi ép kiểu các giá trị về kiểu Boolean mà thường để tự Javascript ngầm ép kiểu, ví dụ như sau var x = "string"; ifx { alerttrue; } else { alertfalse; } //KQ true Ở đoạn code trên, chúng ta có thể thấy Javascript đã tự động ngầm ép kiểu của x trong if về Boolean để chạy câu lệnh if. Tuy nhiên, nhiều trường hợp chúng ta muốn lấy giá trị kiểu Boolean của nó để có thể strict equal hoặc cần hàm trả về true hoặc false thì chúng ta sẽ sử dụng Boolean var x = Boolean1; alertx; // true Các giá trị khi ép kiểu sang Boolean trả về false 0, '', false, null, undefined, NaN. Các giá trị này cũng được gọi là các falsy value trong Javascript. Ngoài các giá trị ở trên thì các giá trị còn lại đều trả về true. Object Conversion Như chúng ta đã tìm hiểu ở trên thì khi chuyển đổi kiểu từ object sang các kiểu khác như string [object Object] number NaN boolean true Vậy chúng ta phải làm thế nào để chuyển đổi kiểu từ object sang các kiểu dữ liệu nguyên thủy theo cách mà chúng ta mong muốn nhất. Khi chúng ta ép kiểu một object về string hoặc number thì Javascript sẽ cố gắng tìm và gọi 3 object methods như sau Gọi obj[ - với key tượng trưng là nếu method này tồn tại. Dựa vào hint , nếu là string thì nó sẽ cố gọi đến method trước và sau nếu không tồn tại. Nếu hint là number thì nó sẽ cố gọi đến trước và sau. Hãy cùng xét ví dụ var obj = { name 'John Doe', age 53, [ { return hint == "string" ? `${ } } alertStringobj; // "John Doe" alertNumberobj; // 53 sẽ cho phép chúng ta quy định giá trị trả về thông qua hint. toString/valueOf Methods toString và valueOf là 2 method cũ, nếu không tìm thấy thì Javascript sẽ cố gắng gọi đến chúng theo thứ tự toString rồi đến valueOf nếu hint là string valueOf rồi đên toString nếu hint khác string Theo mặc định, đối với một object đơn giản toString method trả về một string "[object Object]". valueOf method trả về chính object đó. var user = {name "John"}; alertuser; // [object Object] alert === user; // true Vậy chúng ta muốn giá trị trả về là giá trị mà chúng ta mong muốn giống như sử dụng thì chúng ta sẽ cần sử dụng kết hợp toString và valueOf như sau var obj = { name 'John Doe', age 53, toString { return }, valueOf { return } } Lời kết Vậy là chúng ta đã tìm hiểu qua về các cách thay đổi kiểu dữ liệu trong Javascript. Vì kiến thức là vô tận nên trong bài không thể tránh khỏi những thiếu sót cũng như nhầm lẫn, mong mọi người thông cảm là nếu góp ý bên dưới để mình có thể đưa ra nhưng bài viết có chất lượng hơn. Xin cảm ơn mọi người đã đọc bài viết. References
Chúng ta đã cùng nhau tìm hiểu các kiểu dữ liệu có trong JavaScript ở bài trước, tuy nhiên chúng ta vẫn chưa biết cách thao tác với chúng như thế nào trong JavaScript, nó có hổ trợ các phương thức nào hay không? Vấn đề đó, chúng ta sẽ cùng nhau tìm hiểu trong bài này nhé 😉.I. không giống như nhiều ngôn ngữ lập trình khác, nó không có kiểu dữ liệu dành cho số như integer, short, long, float, double, ... mà nó chỉ có mỗi kiểu với số nguyên trong JavaScript nó có độ chính xác đến 15 con số, cụ thể như saulet a = 999999999999999; // Giá trị của a lúc này là à 999999999999999 let b = 9999999999999999; // Đối với giá trị vượt quá 15 số thì b lúc này là 10000000000000000Ngoài ra, số thập phân cũng có giới hạn của nó là 17 số. Tuy nhiên việc tính toán với số thập phân trong JavaScript không phải lúc nào cũng chính xác, cụ thể như saulet a = + //-> Bạn nghĩ rằng a = //-> Output a = biết nguyên nhân tại sao bạn tìm hiểu khái niệm floating-point nhé 😉.Để khắc phục vấn đề này ta có thể nhân số thập phân với số nguyên rồi mới thực hiện phép tính, cụ thể như saulet total = * 10 + * 10/10 //->Output total = ý Trong JavaScript, việc cộng 2 số với nhau tất nhiên sẽ cho kết quả là số, tuy nhiên cộng số với chuỗi thì JavaScript sẽ tự động convert số thành chuỗi và cộng 2 chuỗi với nhau, kết quả cuối cùng sẽ là một chuỗi đó nhé 🤭. Do đó trước khi tính toán, chúng ta cần convert hết qua thành số rồi làm gì thì làm nhé 😁.1. Convert number to muốn chuyển đổi từ kiểu number sang string, ta có thể sử dụng phương thức toString, cụ thể như saulet num = 2021; //->Output "2021"Ngoài ra ta còn có thể convert từ number sang string ở dạng nhị phân, bát phân, thập phân và thập lục phân đó 😉let num = 240; //Nhị phân //->Output "11110000" //Bát phân //->Output "360" //Thập phân //->Output "240" //Thập lục phân //->Output "f0"2. Infinity - Dương vô hay dương vô cực cũng thuộc kiểu dữ liệu number. Khi một biến chứa giá trị mà vượt mức lưu trữ cho phép thì biến đó có giá trị là Infinity. Nó cũng là một giá trị nên ta có đem đi so sánh Infinity; //-> Output "number" let a = 5/ 0; //-> Output a = Infinity let num = 5; whilenum != Infinity { num = num * num; } //-> Output /* 25 625 390625 152587890625 Infinity */Vậy âm vô cực thì sao??? Thì là -Infinity đó 😁let num = 4 / 0; //-> Output -Infinity3. NaN - Not a là một giá trị có trong JavaScript, nó dùng để xác định một số không phải là số hợp lệ. Nếu bạn thực hiện các phép tính với number mà bằng cách nào đó nó vi phạm quy tắc tính toán của JavaScript thì nó sẽ trả về kết quả là dụ ta chia một số cho một chuỗi chẳng hạn 🤭.let total = 200 / "Hai trăm"; //->Output NaN typeof NaN; //-> Output "number"Để kiểm tra một biến có phải là NaN hay không ta sử dụng phương thức isNaN, nếu đúng thì return true ngược lại return x = 199 / "Not a number"; isNaNx; //-> Output true4. Ép kiểu sang làm việc với JavaScript chắc chắn sẽ có lúc có data bạn cần phải convert từ kiểu string sang kiểu number, lúc này ta có 3 cách để ép kiểuNumber Chuyển đổi giá trị về kiểu Chuyển đổi giá trị sang số Chuyển đổi giá trị sang số thập //-> 200 Number //-> Number2,2; //-> NaN Number2 2; //-> NaN Number"Alice"; //-> NaN Numbertrue; //-> 1 Numberfalse; //-> 0parseInt"123"; //-> 123 parseInt" //-> 9 parseInt"10 20 30"; //-> 10 parseInt"100 years"; //-> 100 parseInt"years 10"; //-> NaNparseFloat"10"; //-> 10 parseFloat" //-> parseFloat"10 20 30"; //-> 10 parseFloat"10 years"; //-> 10 parseFloat"years 10"; //-> NaN5. Làm tròn khi những tính toán cho kết quả không mong muốn như cho ra kết quả dạng tập phân và bạn muốn làm tròn con số đó lên, trong JavaScript bạn có thể sử dụng phương thức toFixed để làm tròn các con số x = //-> 10 //-> //-> //-> là một loại dữ liệu khá phổ biến trong JavaScript, một biến chứa các giá trị là các ký tự và được đặt trong dấu nhấy đơn '' hay dấu nháy kép "".let mess = 'Welcome to 200Lab'; let say = "Hello!";Một lưu ý cho các bạn, khi trong chuỗi bắt buộc có dấu nhấy đơn hoặc nhấy kép thì bạn phải thêm ký tự \ ở trước dấu nhấy đó, như ví dụ bên txt = "\"200Lab Education\" Học viện đào tạo kỹ sư phần mềm chuyên sâu qua dự án thực tế";Ngoài ra trong chuỗi còn có các dấu, support cho các vấn đề khác mà bạn có thể quan tâm như Code Kết quả ' single quote - Dấu nhấy đơn \" double quote - Dấu nhấy kép \\ backslash - Dấu chéo ngược \n new line - Xuống dòng mới \r carriage return \t tab \b backspace - Tạo khoảng trống \f form feed 1. Lấy độ dài của có thể lấy độ dài của một chuỗi bằng phương thức text = "200Lab"; //-> 62. Tìm kiếm chuỗi con trong một có thể sử dụng hàm indexOf để tìm một chuỗi con trong một chuỗi tìm thấy, nó sẽ trả về vị trí đầu tiên của ký tự có trong chuỗi không tìm thấy, nó sẽ trả về -1let mess = "JS is a programming language"; //-> 8 //-> -1Ngoài ra, nếu bạn muốn tìm vị trí cuối cùng của chuỗi con thì bạ có thể sử dụng lastIndexOflet mess = "JS is a programming language pro"; //-> 29À vị trí bắt đầu trong chuỗi là 0 nha 😁.3. Tách việc với chuỗi thì chắc chắn bạn sẽ phải không ít thì nhiều lần phải tách một chuỗi thành nhiều chuỗi theo mục đích của mình. Trong JavaScript, nó có 3 cách để tách dụng hàm slicestart, end, nó sẽ tách chuỗi từ vị trí start đến end-1let mess = "JS is a programming language pro"; 19; //-> "programming" // Nếu tham số là số âm thì nó sẽ đếm từ phía cuối chuỗi đến đầu chuỗi -13; //-> "programming" // Nếu không có tham số end thì nó sẽ tính từ start đến hết chuỗi //-> "programming language pro" //-> "programming language pro"Sử dụng subString, nó giống với slice, tuy nhiên lại không chơi với giá trị mess = "JS is a programming language pro"; 19; //-> "programming"substr cũng tương tự như slice nhưng không có tham số end, tham số thứ hai là độ dài của chuỗi bạn muốn cắt. Nó cũng nhận tham số bắt đầu là số âm, nếu không xác định độ dài chuỗi muốn cắt thì nó sẽ tính từ vị trí bắt đầu ta truyền vào cho đến hết mess = "JS is a programming language pro"; 11; //-> "programming" //-> "programming language pro" //-> "pro"4. Thay thế quá trình taho tác với chuỗi, nếu muốn thay thế một đoạn chuỗi nhỏ nào đó trong một chuỗi lớn thì ta có thể dùng hàm replace.var str = 'Please visit Microsoft and Microsoft!'; var n1 = 'W3Schools'; var n2 = "W3Schools"; //-> "Please visit W3Schools and Microsoft!" //-> "Please visit W3Schools and W3Schools!"5. Chuyển sang chuỗi hoa hoặc chuỗi chuyển đoạn chuỗi sang chuỗi in hoa ta sử dụng phương thức toUpperCase, in thường dùng toLowerCase.var text = 'Hello World!'; var textUp = //-> "HELLO WORLD!" var textLow = //-> "hello world!"6. Nối nối chuỗi ta sử dụng hàm concatlet text1 = 'Hello' let text2 = 'World' let merText = ', text2 //-> "Hello World"Ngoài ra còn một cách đơn giản là ta sử dụng dấu + 😁.let text1 = 'Hello' let text2 = 'World' let merText = text1 + ' ' + text2; //-> "Hello World"7. Xóa khoảng trắng hai bên xóa khoảng trắng hai bên chuỗi ta dùng hàm trim. Thường ta có thể dùng phương thức để xóa các khoảng trống mà người dùng nhập thừa đấy 😉.let str = ' 200Lab '; let newStr = //-> "200Lab"8. Cách lấy từng giá trị trong chuỗi thì chung quy lại nó cũng chỉ là một mảng chứa các ký tự, do đó để lấy các giá trị trong chuỗi ta dùng [] hoặc hàm charAt.let str = "200Lab"; //-> "2" str[3]; //-> "L"9. Lấy UTF-16 code tại vị trí bất kì trong lấy bất kỳ các code UTF-16 tại các vị trí bất kỳ trong chuỗi ta dùng hàm charCodeAt.let str = "JS basic!"; //-> 7410. Chuyển chuỗi sang chuyển một chuỗi sang dạng mảng ta sử dụng hàm split, tham số đầu vào của hàm là một chuỗi để ngăn str = "200lab Education", str1 = "a,b,c,d,e,f,g,h"; let arrStr1 = //-> ["a", "b", "c", "d", "e", "f", "g", "h"] // Nếu tham số là rỗng thì sẽ return về mảng từng ký tự let arrStr = //-> ["2", "0", "0", "l", "a", "b", " ", "E", "d", "u", "c", "a", "t", "i", "o", "n"]III. hay mảng là một tập hợp các phần tử, mỗi phần tử sẽ được đánh dấu thứ tự bằng chỉ mục hay index và index bắt đầu từ Lấy độ dài của tự chuỗi, để lấy độ dài của mảng ta dùng phương thức arr = [1, 2, 3, 4, 5]; //-> 52. Kiểm tra biến có chứa dữ liệu dạng mảng hay check xem một biến có chứa data dạng mảng hay không, ta dùng hàm isArray hoặc fruits = ['Banana', 'Orange', 'Apple', 'Mango'] //-> true fruits instanceof Array //-> true3. Chuyển mảng sang chuyển một mảng sang một chuỗi ta dùng hàm toString hoặc joinconst cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; const str1 = //-> "Honda,Hyundai,Ford,Toyota" const str2 = //-> "Honda-Hyundai-Ford-Toyota"4. Thêm phần tử vào cuối một phần tử mới vào mảng ta sử dụng hàm push, ngoài add thêm phần tử vào mảng nó còn return lại độ dài của mảng cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; const x = //-> 5 //-> ["Honda", "Hyundai", "Ford", "Toyota", "Suzuki"]5. Xóa phần tử ở cuối xóa một phần tử ở cuối mảng, ta dùng hàm pop và nó return lại giá trị mà nó vừa cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; const x = //-> "Toyota" //-> ["Honda", "Hyundai", "Ford"]6. Thêm phần tử vào đầu cho phép ta thêm 1 phần tử mới vào đầu mảng và return lại chiều dài mảng cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; const x = //-> 5 //-> ["Suzuki", "Honda", "Hyundai", "Ford", "Toyota"]7. Xóa phần tử ở đầu hàm shift ta có thể xóa phần tử đầu tiên của mảng và đồng thời return lại phần tử vừa cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; const x = //-> "Honda" //-> ["Hyundai", "Ford", "Toyota"]Lưu ý ta cũng có thể dùng delete operator để xóa bất kỳ phần tử nào có trong mảng. Tuy nhiên chỉ giá trị của phần tử được xóa nên lại để lại một khoảng trống trong mảng. Khi ta truy xuất đến khoảng trống này, ta nhận được giá trị của nó là cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; delete cars[0]; //-> [empty, "Hyundai", "Ford", "Toyota"] //-> undefined8. Thêm hoặc xóa nhiều phần tử trong 1 hàm splice, ta có thể thêm hoặc xóa nhiều phần tử trong mảng và return lại mảng với các phần tử mà ta đã pháp của nó như sau splicevị trí thêm, số lượng cần xóa, … phần tử thêmconst cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; //Thêm vào vị trí thứ 2 const x = 0, 'Suzuki', 'Isuzu'; //-> [] Vì ta không xóa nên mảng sẽ là rỗng //-> ["Honda", "Hyundai", "Suzuki", "Isuzu", "Ford", "Toyota"]const cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; // Xóa 1 phần tử tại vị trí số 0 const x = 1 //-> [ "Honda" ] //-> ["Hyundai", "Ford", "Toyota"]9. Ghép concat cũng có thể ghép 2 mảng lại với myGirls = ['Alice Rondo', 'Luminous Valentine']; const myBoys = ['Diablo', 'Guy Crimson', 'Leon Cromwell']; const myChildren = //-> ["Alice Rondo", "Luminous Valentine", "Diablo", "Guy Crimson", "Leon Cromwell"]10. Tách mảngMuốn tách mảng thì ta sử dụng hàm slice, với cú phápslicevị trí bắt đầu, vị trí kết thúcconst cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; //Tách từ vị trí đầu đến hết mảng. const x = //-> ["Hyundai", "Ford", "Toyota"] //tách ra 1 mảng mới bắt đầu tại vị trí 1 đến 2 3-1 const y = 3; //-> ["Hyundai", "Ford"]11. Spread là một khái niệm mới đây, được ra mắt từ ES6 ES2015, nó phân rã mảng object thành từng phần tử nhỏ ví dụ [1,2,3] => 1,2,3.const nums_1 = [1, 2, 3]; const nums_2 = [3, 4, 5]; // Nối mảng const newNums = [...nums_1, ...nums_2]; //- trueHiện nay Spread operator được sử dụng thương xuyên trong lập trình và thao tác với mảng đấy 😉.12. Lặp mảng hay duyệt mảng thì đây là cách thức ta thường phải sử dụng để thao tác với mảng, ngoài for thông thường, ta còn có forEach, map, filter, find, findIndex, every, some. Cùng nhau tìm hiểu từng loại một nhé 😁.forEach Lặp qua từng phần tử có trong mảng. Tham số truyền vào forEach là một callback function với 3 đối số gồmGiá trị phần của phần đang thực numbers = [1, 2, 3, 4, 5]; let newNumbers = []; index, array => { }; //-> [1, 2, 3, 4, 5]map cho phép tạo một mảng mới bằng cách thực hiện tính toán trên mỗi phần tử, map không làm thay đổi mảng numbers = [1, 2, 3, 4, 5]; let newNumbers = index, array => { return value * 2; }; //-> [2, 4, 6, 8, 10] filter cho phép tạo một mảng mới với những phần tử nào thỏa điều kiện ta đặt ra. Hàm này thường được dùng để tìm kiếm phần tử trong numbers = [1, 2, 3, 4, 5]; let newNumbers = index, array => { return value >=3; }; //-> [3, 4, 5]find Hàm này trả về phần tử thỏa điều kiện đầu tiên, nếu không có sẽ return undefined. Thường dùng hàm này để tìm kiếm phần tử trong numbers = [1, 2, 3, 4, 5]; let result = index, array => { return value > 1; }; //-> 2 let resultUn = index, array => { return value > 5; }; //-> undefinedfindIndex Hàm này trả về index của phần tử thỏa điều kiện đầu tiên, nếu không có sẽ return cars = ['Suzuki', 'Toyota', 'Hyundai']; const result = index, array => { return value === 'Toyota'; }; //-> 1 const resultUn = index, array => { return value === 'Yamaha'; }; //-> -1every Nếu mọi phần tử thỏa điều kiện sẽ return true, còn không sẽ return false, đơn giản vậy thôi 😁.const numbers = [1, 2, 3, 4, 5]; const checkF = index, array => { return value > 2; }; //-> false const checkT = index, array => { return value >= 1; }; //-> truesome Nếu có một phần tử bất kỳ nào thỏa điều kiện thì sẽ return true, còn không thì sẽ return numbers = [1, 2, 3, 4, 5]; const check = index, array => { return value > 2; }; //-> true13. Lấy index của phần tử lấy giá trị index của phần tử có trong mảng ta dùng hàm indexOf và truyền vào giá trị mà bạn muốn lấy cars = ['Honda', 'Hyundai', 'Ford', 'Toyota']; let index = //-> 214. Kiểm tra phần tử có trong mảng hay check xem phần tử nào đó có trong mảng hay không ta dùng hàm includes và truyền vào giá trị bạn muốn tìm. Nếu có nó sẽ return true không thì return falseconst numbers = [1, 2, 3, 4, 5]; const check = //-> trueIV. của object là cặp key, value tương ứng, entry còn được coi như là property thuộc tính của object. Key của object luôn là string hoặc của object thì có thể thuộc bất cứ kiểu dữ liệu nào kể cả là function. Method hay phương thức là những thuộc tính mà value của nó là function1. prototype objectPrototype là một cơ chế của JavaScript, giúp object thừa kế các tính năng của object các kiểu dữ liệu trong JavaScript mà ta đã biết thì nó cũng như bao ngôn ngữ lập trình khá còn có các object kiểu dữ liệu như Number, String, Boolean. Mảng là một object dạng Array còn function là một object dễ hiểu hơn, chúng ta cùng xem ví dụ và giải thích nhé 😉.let str = 'String'; // str là string, cha nó là // nhân đôi chuỗi đưa vào = function { return this + this; }; // Tìm thấy hàm duplicate trong prototype// object thông thường const person = { firstName 'Alice', lastName 'Rondo', showName function { + ' ' + } }; //-> object person có prototype là Constructor Function function PersonfirstName, lastName { = firstName = lastName = function { + ' ' + } } let Person_1 = new Person'Alice', 'Rondo'; /* - object này có prototype là - Prototype mới được tạo ra - kế thừa */Thử thêm một phương thức vào object được tạo từ một constructor function// STEP 0 tạo ra 1 hàm và khởi tạo một object s1 bằng toán tử new function Studentname, age { = name = age } const s1 = new Student'Alice Rondo', 9 // STEP 1 thêm một hàm saySomeThing cho Student như sau = function { } // STEP 2 thêm 1 hàm showName cho prototype của Student như sau = function { name is ', } // STEP 3 Gọi lần lượt hai hàm trên từ object s1 //-> Lỗi, vì s1 không có hàm saySomeThing, hàm này chỉ thuộc Student thôi. //-> 'My name is Alice Rondo' //->'Hello'Ta có thể edit prototype của một function thông qua object được tạo từ function đó bằng __proto__ như sau = function { là ${ tôi đang học.` } const s2 = new Student'Milim Nava', 20 //-> "Tôi là Milim Nava, tôi đang học."2. Truy xuất, thêm, xóa, sửa thuộc tính của person = { name 'Alice Rondo', }; // Lấy giá trị của thuộc tính name // Thêm thuộc tính vào person = 12; // Sửa thuộc tính name = 'Rimuru Tempest'; // Xóa thuộc tính name delete Merge merge 2 object lại với nhau ta dùng phương thức person = { name 'Rimuru Tempest', position ['King of Jura Tempest Federation'], }; const person2 = { position ['King of Monsters'] }; /* { name 'Rimuru Tempest', positon ['King of Monsters'] } */Spread operator cũng có thể dùng để shallow copy hoặc merge object lại nhé 😁const person = { name 'Rimuru Tempest', position ['King of Jura Tempest Federation'], } const person2 = { ...person, position ['King of Monsters'] } /* { name 'Rimuru Tempest', positon ['King of Monsters'] } */4. Lấy các key của lấy tất cả các key của một object ta dùng phương thức nó sẽ return một mảng chứa tất cả các key của object person = { name "Remuru Tempest", age 24 }; //-> [ "name", 'age" ]5. Lấy các value của lấy tất cả các value của một object ta dùng phương thức nó sẽ return một mảng chứa tất cả các value của object person = { name "Remuru Tempest", age 24 }; //-> ["Remuru Tempest", 24]V. Tổng viết tuy hơi dài, nhưng mình đã cố gắng giới thiệu cho các bạn những phương thức thừng hay sử dụng để thao tác với các data là number,`string, array hay object trong khi học hay làm việc với ngôn ngữ JavaScript, ngoài ra còn nhiều phương thức khác nữa đó nha, bấy nhiêu đó chưa có hết đâu 😁. Tuy vậy, mình hy vọng bài viết này sẽ có ích cho các bạn, cảm ơn các bạn đã đọc 🤗.
ép kiểu trong javascript