Kiểu dữ liệu Symbol trong JavaScript

Khóa học JavaScript cơ bản

5.0 (2 đánh giá)
Tạo bởi Katsu Cập nhật lần cuối 00:48 23-06-2023 3.073 lượt xem 0 bình luận
Tác giả/Dịch giả: Nông Thanh Toàn
Học nhanh

Danh sách bài học

Kiểu dữ liệu Symbol trong JavaScript

Dẫn nhập

Ở bài trước, Kteam đã giới thiệu đến các bạn về kiểu dữ liệu boolean trong JavaScript.

Trong bài này, chúng ta sẽ cùng nhau tìm hiểu về một kiểu dữ liệu khác: symbol


Nội dung

Để nắm được nội dung của bài này, bạn cần có kiến thức về:

  • Kiểu dữ liệu số trong JavaScript
  • Kiểu dữ liệu chuỗi trong JavaScript

Những nội dung mà chúng ta sẽ cùng tìm hiểu:

  • Giới thiệu khái quát về Symbol trong JavaScript, tác dụng của Symbol
  • Các thuộc tính, phương thức của Symbol

Kiểu dữ liệu symbol trong Js

Nếu bạn dùng google và dịch từ “symbol” sang tiếng Việt, thì nó có nghĩa là ký hiệu, hay là vật tượng trưng.

Ở một khía cạnh nào đó, ta cũng có thể hiểu symbol trong JavaScript theo nghĩa tương tự.

Trong JavaScript, symbol là một trong 7 loại kiểu dữ liệu “nguyên thủy” (tiếng Anh: primitive). 7 loại này bao gồm số (number, bigint), chuỗi (string), boolean, undefined, symbolnull.


Cấu trúc của symbol:

Một symbol sẽ bao gồm một key được đặt trong cụm từ “symbol”:

symbol(<key>)

  • <key> có thể là một số, một chuỗi hay bất kì kiểu dữ liệu nào khác, miễn là nó hợp lệ

Khởi tạo một symbol

Để khởi tạo một giá trị kiểu symbol, ta dùng constructor Symbol:

Symbol(<value>)

Trong đó: <value> có thể có hoặc không. Nhưng nếu có,<value> phải là một giá trị hợp lệ, và nó có thể mang bất kỳ kiểu dữ liệu nào. Ở ví dụ bên dưới có sử dụng function – một kiến thức mới mẻ. Có thể hiểu đơn giản, là nó chứa 1 đống lệnh bên trong dùng để tái sử dụng. Kteam sẽ nói rõ hơn về function trong các bài tiếp theo.

Ví dụ:

a = Symbol('a')
// Symbol(a)
b = Symbol('1')
// Symbol(1)
t = Symbol(true)
// Symbol(true)
function f() { return 1;}
// Undefined
Symbol(f)
// Symbol(function f() { return 1;})

Sau khi khởi tạo, các giá trị này đều thuộc kiểu symbol:

typeof(a)
// 'symbol'
typeof(b)
// 'symbol'
typeof(t)
// 'symbol'

Đặc điểm của symbol

Tính độc nhất

Đối với kiểu dữ liệu symbol, thì mỗi giá trị là độc nhất trong một chương trình, có nghĩa là, không thể tồn tại hai giá trị symbol bằng nhau, ngoại trừ trường hợp ta dùng phép gán.

a = Symbol()
// Symbol()
b = Symbol()
// Symbol()
a == b
// false

Mời các bạn tiếp tục xem các ví dụ bên dưới:

a = Symbol(123)
// Symbol(123)
b = Symbol(123)
// Symbol(123)
a == b
// false
a = Symbol(true)
// Symbol(true)
b = Symbol(true)
// Symbol(true)
a == b
// false

Các giá trị symbol khi ép sang các kiểu dữ liệu khác:

Kiểu dữ liệu tương ứng

Giá trị

Ví dụ

Boolean

True

Boolean(Symbol())

//true

Number

Không thể chuyển từ symbol sang number

Number(Symbol(123))
// Uncaught TypeError: Cannot convert a Symbol value to a number
    at Number (<anonymous>)

String

Chuỗi tương ứng

String(Symbol())
// 'Symbol()'

Array

Một array bao gồm các symbol

Array(Symbol(123))
// [ Symbol(123) ]
Array(Symbol(123), Symbol('Kteam'))
// [ Symbol(123), Symbol(Kteam) ]


Sử dụng symbol như là một thuộc tính của object

Vì tính độc nhất của symbol, nên nó có thể được dùng làm thuộc tính của một object.

sb = Symbol('aa')
// Symbol(aa)
obj = {
   Name: "Kter",
   Age: 18,
   [sb]: "Dodoodo"
}
// { Name: 'Kter', Age: 18, [Symbol(aa)]: 'Dodoodo' }
console.log(obj[sb]);
// Dodoodo
// undefined

Kết luận

Qua bài này, các bạn đã biết về kiểu dữ liệu symbol trong JavaScript

Bài sau, Kteam sẽ cùng bạn củng cố qua Bài tập kiểu dữ liệu symbol trong JavaScript

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Kiểu dữ liệu Symbol trong JavaScript dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

Khóa học

Khóa học JavaScript cơ bản

Nếu bạn đang muốn bắt đầu học JavaScript thì đây chính là khóa học dành cho bạn. Trong khóa học này, Kteam sẽ cung cấp cho những kiến thức cơ bản nhất của ngôn ngữ lập trình JavaScript.

Khóa học này không đòi hỏi kiến thức nền tảng nhiều, nên giả sử như bạn chưa biết gì về lập trình, bạn vẫn có thể tham gia. Do đó dù bạn có là một người trái ngành cũng có thể tiếp cận - Đồng thời bạn cũng không cần phải là một thiên tài toán học để tham gia khóa học này 😉.

Đánh giá

Midir reynard đã đánh giá 00:31 04-08-2024

I can’t thank you enough!

Vo Tan Duc đã đánh giá 10:21 30-05-2023

Anh Long dạy dễ hiểu quá! Em quen giọng anh rồi!

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Không có video.