STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    So Sánh undefined, null và Rỗng

    Phân biệt chưa khai báo - undefined, chưa tồn tại đối tượng - null và rỗng - empty.
    17/06/2014 15/09/2020 2 phút đọc
    So Sánh undefined, null và Rỗng

    Bài viết sử dụng JavaScript để phân biệt các trường hợp:

    • undefined: chưa khai báo, chưa tồn tại tham chiến, biến.
    • null: đối tượng chưa tồn tại.
    • "": rỗng.

    Xét ví dụ 1 tham chiếu kiểu string:

    let str_a = null;    // null
    let str_b = "";      // có dữ liệu là chuỗi 0 ký tự hay rỗng
    let str_c = "stdio"; // có dữ liệu là chuỗi 5 ký tự

    Truy vấn thông tin sau để phân biệt các trường hợp

    Trường hợp str_d - undefined

    Giả sử truy vấn thông tin của biến str_d với các khai báo trên, trong trường hợp này str_d chưa được khai báo, biến str_d chưa tồn tại, trường hợp này được gọi là undefined.

    Trường hợp str_a - null

    Trường hợp biến str_a đã được khai báo, do đó biến str_a tồn tại và khác undefined, nhưng đối tượng mà str_a tham chiếu đến chưa tồn tại do đó str_anull.

    Trường hợp str_b và str_c

    Trường hợp biến str_bstr_c đều cùng khác undefined và khác null, thực chất trường hợp này như nhau, str_bstr_c đều đã tham chiếu đến 1 đối tượng kiểu string và chỉ khác ở giá trị dữ liệu đang lưu trữ.

    • str_b tham chiếu đến 1 đối tượng kiểu string với chuỗi có 0 ký tự.
    • str_c tham chiếu đến 1 đối tượng kiểu string với chuỗi có 5 ký tự.

    Mô phỏng

    Bên trái là các biến, bên phải là các đối tượng:

    • str_d: được mô phỏng bằng đường đứt nét nghĩa chưa tồn tại -> undefined.
    • str_a: được mô phỏng bằng đường liền do đã được khai báo nhưng chưa tham chiếu đến đối tượng nào -> null.
    • str_b, str_c: được mô phỏng bằng đường liền do đã được khai báo, đối tượng tham chiếu đến cũng là đường liền nét nên 2 trường hợp này đều khác undefinednull.
    0 Bình luận
    JavaScript

    JavaScript

    STDIO Training - Đào tạo lập trình Frontend - Backend.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021