Rate this post

Việc học ngôn ngữ mới như JavaScript sẽ là đơn giản đối với những người đã học một ngôn ngữ lập trình trước đo. Nhưng đối với những người mới làm quen với ngôn ngữ lập trình thì điều này không đơn giản tí nào. Hôm nay, hãy cùng chúng tôi Websitehcm tìm hiểu cách sử dụng data types(kiểu dữ liệu) trong JavaScript.

Những lưu ý sử dụng data types trong JavaScript

  1. Giá trị trong JavaScript luôn thuộc một loại nhất định. Ví dụ, một chuỗi hoặc một số.

Có tám kiểu dữ liệu cơ bản trong JavaScript. Ở đây, chúng tôi sẽ trình bày chung về chúng và trong các chương tiếp theo, chúng tôi sẽ nói chi tiết về từng chúng.

Chúng ta có thể đặt bất kỳ kiểu nào trong một biến. Ví dụ, một biến tại một thời điểm có thể là một chuỗi và sau đó lưu trữ một số:

let message = "xin chào";
message = 123456;

Các ngôn ngữ lập trình cho phép những thứ như vậy, chẳng hạn như JavaScript, được gọi là “dynamically typed”, nghĩa là tồn tại các kiểu dữ liệu, nhưng các biến không bị ràng buộc với bất kỳ kiểu nào trong số đó.

let n = 123;
n = 12,345;
  1. Kiểu number đại diện cho cả số nguyên và số dấu phẩy động.
  1. Có nhiều phép toán cho các số, ví dụ: nhân *, chia /, cộng +, trừ -, v.v.

Bên cạnh các số thông thường, có những cái gọi là “giá trị số đặc biệt” cũng thuộc về kiểu dữ liệu này: Infinity, -InfinityNaN.

Infinity đại diện cho Infinity ∞ toán học. Đó là một giá trị đặc biệt lớn hơn bất kỳ số nào.

Xem thêm CSS là gì? cách hoạt động và cách học CSS

Chúng ta có thể lấy nó là kết quả của phép chia cho 0:

  • (1/0); // Infinity
  • Infinity; // Infinity
  1. NaN đại diện cho một lỗi tính toán.

Ví dụ: nó là kết quả của một phép toán không chính xác hoặc undefine:

alert ("not a number" / 2); // NaN, việc chia như vậy là sai
alert ("not a number" / 2 + 5); // NaN

Vì vậy, nếu có một NaN ở đâu đó trong một biểu thức toán học, thì nó sẽ truyền đến toàn bộ kết quả.

  1. Các phép toán an toàn

Làm toán là “safe” trong JavaScript. Chúng ta có thể làm bất cứ điều gì: chia cho không, coi các chuỗi không phải số là số, v.v.

Tập lệnh sẽ không bao giờ dừng lại với một lỗi nghiêm trọng (“die”). Tệ nhất, kết quả là chúng tôi sẽ nhận được NaN.

Các giá trị số đặc biệt chính thức thuộc về kiểu “số”. Tất nhiên chúng không phải là những con số theo nghĩa thông thường của từ này.

Chúng ta sẽ xem thêm về cách làm việc với các con số trong chương Số.

  1. BigInt

Trong JavaScript, biến kiểu “number” không thể có giá trị số nguyên lớn hơn (2^53-1) ( 9007199254740991) hoặc nhỏ hơn – (2^53-1) đối với số nguyên âm. Đó là hạn chế về mặt kỹ thuật của kiểu number.

Đối với hầu hết các mục đích là đủ, nhưng đôi khi chúng ta cần những con số thực sự lớn, ví dụ: cho mật mã hoặc dấu thời gian chính xác đến micro giây.

Kiểu BigInt đã được thêm vào javaScript để biểu diễn các số nguyên giá trị lớn.

Giá trị BigInt được khai báo bằng cách thêm n vào cuối một số nguyên:

// chữ “n” ở cuối nghĩa là nó là BigInt

const bigInt = 1234567890123456789012345678901234567890n;

Vì con số BigInt hiếm khi cần thiết, chúng tôi không đề cập đến chúng ở đây mà dành cho chúng một chương BigInt riêng biệt. Hãy đọc nó khi bạn cần những con số lớn như vậy.

Những vấn đề tương thích

Hiện tại, BigInt được hỗ trợ trong Firefox / Chrome / Edge / Safari, nhưng không được hỗ trợ trong IE.

Bạn có thể kiểm tra bảng tương thích MDN BigInt để biết phiên bản trình duyệt nào được hỗ trợ.

Xem thêm Các công thức Google Sheets dành tặng cho SEO

  1. Một chuỗi trong JavaScript phải được bao quanh bởi dấu ngoặc kép.
let str = "Xin chào";
let str2 = 'Dấu nháy đơn cũng được';
let Str3 = `có thể nhúng $ {str}` khác;

Trong JavaScript, có 3 loại dấu ngoặc kép.

  • Dấu ngoặc kép: “Xin chào”.
  • Dấu ngoặc kép: ‘Xin chào’.
  • Gậy ngược: `Xin chào`.

Dấu ngoặc kép(“”) và dấu nháy đơn(”) là những dấu đơn giản “simple”. Thực tế dùng cả 2 đều được và không có khác biệt.

  1. Backticks là dấu ngoặc kép “extended functionality”.

Chúng cho phép chúng tôi nhúng các biến và biểu thức vào một chuỗi bằng cách gói chúng trong $ {…}

let name= "John";

// nhúng một biến

alert (`Hello, $ {name}!`); // Hello, John!

// nhúng một biểu thức

alert (`kết quả là $ {1 + 2}`); // kết quả là 3

Biểu thức bên trong $ {…} được tính toán và coi như thành phần của một chuỗi. Chúng ta đặt các biến và biểu thức vào nó như 1 + 2 hoặc function phức tạp.

alert ("kết quả là $ {1 + 2}"); // kết quả là $ {1 + 2} (dấu ngoặc kép không có tác dụng gì)

Chúng tôi sẽ trình bày kỹ hơn về các chuỗi trong chương Chuỗi.

  1. Không có kiểu character.

Trong một số ngôn ngữ, có một loại “character” đặc biệt cho một ký tự. Ví dụ, trong ngôn ngữ C và trong Java, nó được gọi là “char”.

Trong JavaScript, không sử dụng character. Chỉ chuỗi. Một chuỗi có thể có độ lớn 0 ký tự (để trống), hoặc nhiều ký tự.

  1. Boolean (kiểu logic)

Kiểu boolean chỉ có hai giá trị: true và false.

Loại này thường được sử dụng để lưu trữ các giá trị có / không: true có nghĩa là “có, đúng” và false nghĩa là “không, không chính xác”.

Ví dụ:

let nameFieldChecked = true; // vâng, trường tên được chọn

let ageFieldChecked = false; // không, trường tuổi không được kiểm tra

Các giá trị Boolean cũng là kết quả của các phép so sánh:

let isGreater = 4> 1;

alert (isGreater); // true (kết quả so sánh là "yes")

Chúng tôi sẽ trình bày sâu hơn về boolean trong chương Các toán tử logic.

  1. Giá trị “null”

Giá trị null đặc biệt không thuộc bất kỳ kiểu nào được mô tả ở trên.

Nó tạo thành một kiểu riêng biệt chỉ chứa giá trị null:

let age = null;

Trong JavaScript, null không phải là “tham chiếu đến object không tồn tại” hoặc “con trỏ null” như trong một số ngôn ngữ khác.

Nó chỉ là một giá trị đặc biệt đại diện cho “không có gì”, “trống” hoặc “giá trị undefine”.

Đoạn mã trên nói rằng tuổi chưa được biết.

  1. Giá trị “undefined”

Giá trị đặc biệt như undefined cũng có sự khác biệt. Nó là loại đối tượng của riêng nó, như kiểu null.

undefined có nghĩa là “giá trị không được gán”.

Nếu một biến được define , nhưng không gán giá trị cho nó thì kết quả là undefined:

let age;

alert(age); // hiển thị "undefined"

Về mặt kỹ thuật, có thể gán undefined cho một biến:

let age = 100;

// thay đổi giá trị thành undefined

age= undefine;

alert (age); // "undefine"

… Nhưng chúng tôi không khuyên bạn nên làm điều đó. Thông thường, người ta sử dụng null để gán giá trị “trống” hoặc “undefined” cho một biến, trong khi undefined được dành riêng làm giá trị ban đầu mặc định cho những thứ chưa được gán.

  1. Object và Symbol

Loại object là kiểu đặc biệt.

Tất cả các kiểu dữ liệu khác là”primitive” vì chúng chỉ chứa một loại dữ liệu, còn object thì chứa tập hợp các dữ liệu khác.

  1. Toán tử typeof

Toán tử typeof cho ta biết kiểu dữ liệu của biến. Nó phù hợp cho chúng ta xử lý với các kiểu dữ liệu khác nhau.

Nó hỗ trợ hai loại cú pháp:

  • typeof x.
  • typeof (x).

Nói cách khác, nó có sử dụng dấu ngoặc đơn hoặc không sử dụng dấu ngoặc đơn. và cả 2 Kết quả là giống.

Lệnh gọi tới typeof x trả về một chuỗi có tên kiểu:

typeof undefined // "undefined"

typeof 0 // "number"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "foo" // "string"

typeof Symbol("id") // "symbol"

typeof Math // "object"  (1)

typeof null // "object"  (2)

typeof alert // "function"  (3)

Ba dòng cuối cùng có giải thích như sau:

  1. Math là một object được cung cấp sẵn để cung cấp các hàm trong math.
  2. Kết quả toán tử typeof null là “object”.
  3. Kết quả alert là “function”, bởi vì alert là hàm chức năng.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now