{"id":90104,"date":"2025-07-31T22:26:11","date_gmt":"2025-07-31T15:26:11","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=90104"},"modified":"2025-07-31T22:26:13","modified_gmt":"2025-07-31T15:26:13","slug":"javascript-undefined-la-gi","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/","title":{"rendered":"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#undefined_trong_JavaScript_la_gi\" >undefined trong JavaScript l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#Mot_so_vi_du_co_ban_ve_undefined_trong_JavaScript\" >M\u1ed9t s\u1ed1 v\u00ed d\u1ee5 c\u01a1 b\u1ea3n v\u1ec1 undefined trong JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#Cac_truong_hop_undefined_trong_mang_Array\" >C\u00e1c tr\u01b0\u1eddng h\u1ee3p undefined trong m\u1ea3ng (Array)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#Khi_nao_nen_dung_va_khong_nen_dung_undefined\" >Khi n\u00e0o n\u00ean d\u00f9ng v\u00e0 kh\u00f4ng n\u00ean d\u00f9ng undefined?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#3_cach_kiem_tra_gia_tri_mot_bien_co_phai_la_undefined_trong_JavaScript\" >3 c\u00e1ch ki\u1ec3m tra gi\u00e1 tr\u1ecb m\u1ed9t bi\u1ebfn c\u00f3 ph\u1ea3i l\u00e0 undefined trong JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#Khac_biet_giua_undefined_voi_null_la_gi\" >Kh\u00e1c bi\u1ec7t gi\u1eefa undefined v\u1edbi null l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#Cac_cau_hoi_thuong_gap_ve_undefined_trong_JavaScript\" >C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 undefined trong JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#Tong_ket\" >T\u1ed5ng k\u1ebft<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong><em>JavaScript undefined l\u00e0 m\u1ed9t trong nh\u1eefng gi\u00e1 tr\u1ecb m\u00e0 b\u1ea5t k\u1ef3 l\u1eadp tr\u00ecnh vi\u00ean n\u00e0o c\u0169ng t\u1eebng g\u1eb7p, nh\u01b0ng kh\u00f4ng ph\u1ea3i ai c\u0169ng hi\u1ec3u \u0111\u00fang b\u1ea3n ch\u1ea5t c\u1ee7a n\u00f3. N\u1ebfu b\u1ea1n t\u1eebng loay hoay v\u1edbi nh\u1eefng l\u1ed7i ki\u1ec3u \u201cCannot read property of undefined\u201d hay \u201cundefined is not a function\u201d th\u00ec \u0111\u00f3 ch\u00ednh l\u00e0 l\u1ed7i v\u1ec1 undefined.\u00a0<\/em><\/strong><\/p>\n\n\n\n<p>\u0110\u1ecdc b\u00e0i vi\u1ebft sau \u0111\u1ec3 \u0111\u01b0\u1ee3c gi\u1ea3i \u0111\u00e1p chi ti\u1ebft h\u01a1n v\u1ec1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u1ed5ng quan \u0111\u1ecbnh ngh\u0129a v\u1ec1 <code>undefined<\/code> trong JavaScript.<\/li>\n\n\n\n<li>M\u1ed9t s\u1ed1 v\u00ed d\u1ee5 c\u01a1 b\u1ea3n v\u1ec1 <code>undefined<\/code>.\u00a0<\/li>\n\n\n\n<li>Khi n\u00e0o n\u00ean d\u00f9ng hay kh\u00f4ng n\u00ean d\u00f9ng <code>undefined<\/code> trong JavaScript.\u00a0<\/li>\n\n\n\n<li>3 c\u00e1ch ki\u1ec3m tra gi\u00e1 tr\u1ecb bi\u1ebfn g\u1eb7p l\u1ed7i <code>undefined<\/code> trong JavaScript.\u00a0<\/li>\n\n\n\n<li>S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa <code>undefined<\/code> v\u00e0 <code>null<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-undefined-trong-javascript-la-gi\"><span class=\"ez-toc-section\" id=\"undefined_trong_JavaScript_la_gi\"><\/span><strong>undefined trong JavaScript l\u00e0 g\u00ec?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><code>undefined<\/code> l\u00e0 m\u1ed9t thu\u1ed9c t\u00ednh c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng to\u00e0n c\u1ee5c (global object). N\u00f3i c\u00e1ch kh\u00e1c, \u0111\u00e2y l\u00e0 m\u1ed9t bi\u1ebfn t\u1ed3n t\u1ea1i trong ph\u1ea1m vi to\u00e0n c\u1ee5c (global scope).<\/p>\n\n\n\n<p>Trong t\u1ea5t c\u1ea3 c\u00e1c tr\u00ecnh duy\u1ec7t hi\u1ec7n \u0111\u1ea1i (kh\u00f4ng t\u00ednh c\u00e1c tr\u00ecnh duy\u1ec7t c\u0169), <code>undefined<\/code> l\u00e0 m\u1ed9t thu\u1ed9c t\u00ednh kh\u00f4ng th\u1ec3 c\u1ea5u h\u00ecnh l\u1ea1i (non-configurable) v\u00e0 kh\u00f4ng th\u1ec3 ghi \u0111\u00e8 (non-writable). Ngay c\u1ea3 khi m\u00f4i tr\u01b0\u1eddng cho ph\u00e9p ghi \u0111\u00e8, b\u1ea1n tuy\u1ec7t \u0111\u1ed1i kh\u00f4ng n\u00ean thay \u0111\u1ed5i gi\u00e1 tr\u1ecb c\u1ee7a undefined, \u0111\u1ec3 tr\u00e1nh ph\u00e1t sinh l\u1ed7i v\u00e0 h\u00e0nh vi kh\u00f4ng mong mu\u1ed1n trong ch\u01b0\u01a1ng tr\u00ecnh.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-khi-nao-javascript-tr\u1ea3-v\u1ec1-undefined\"><strong>Khi n\u00e0o JavaScript tr\u1ea3 v\u1ec1 undefined?<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t bi\u1ebfn \u0111\u00e3 khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb s\u1ebd c\u00f3 ki\u1ec3u d\u1eef li\u1ec7u l\u00e0 <code>undefined<\/code>. Ngo\u00e0i ra m\u1ed9t s\u1ed1 c\u00e2u l\u1ec7nh, ph\u01b0\u01a1ng th\u1ee9c ho\u1eb7c thao t\u00e1c trong JavaScript s\u1ebd tr\u1ea3 v\u1ec1 <code>undefined<\/code> khi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>G\u1ecdi m\u1ed9t h\u00e0m kh\u00f4ng c\u00f3 c\u00e2u l\u1ec7nh return, ho\u1eb7c c\u00f3 return nh\u01b0ng kh\u00f4ng k\u00e8m theo gi\u00e1 tr\u1ecb.<\/li>\n\n\n\n<li>Truy c\u1eadp m\u1ed9t bi\u1ebfn \u0111\u00e3 \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb.<\/li>\n\n\n\n<li>Truy c\u1eadp m\u1ed9t thu\u1ed9c t\u00ednh kh\u00f4ng t\u1ed3n t\u1ea1i trong m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng (object).<\/li>\n<\/ul>\n\n\n\n<p>Ch\u1eb3ng h\u1ea1n nh\u01b0 v\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y, s\u1eed d\u1ee5ng <code>undefined<\/code> k\u1ebft h\u1ee3p v\u1edbi to\u00e1n t\u1eed so s\u00e1nh nghi\u00eam ng\u1eb7t (<code>===<\/code> v\u00e0 <code>!==<\/code>) \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh xem m\u1ed9t bi\u1ebfn c\u00f3 \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb hay kh\u00f4ng. Bi\u1ebfn x ch\u01b0a \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o gi\u00e1 tr\u1ecb, v\u00ec v\u1eady bi\u1ec3u th\u1ee9c \u0111i\u1ec1u ki\u1ec7n s\u1ebd \u0111\u00e1nh gi\u00e1 l\u00e0 <code>true<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let x;\n\nif (x === undefined) {\n\n\u00a0\u00a0\/\/ c\u00e1c c\u00e2u l\u1ec7nh trong kh\u1ed1i n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c th\u1ef1c thi\n\n} else {\n\n\u00a0\u00a0\/\/ c\u00e1c c\u00e2u l\u1ec7nh trong kh\u1ed1i n\u00e0y s\u1ebd kh\u00f4ng \u0111\u01b0\u1ee3c th\u1ef1c thi\n\n}<\/code><\/pre>\n\n\n\n<p>B\u1ea1n ph\u1ea3i s\u1eed d\u1ee5ng to\u00e1n t\u1eed so s\u00e1nh nghi\u00eam ng\u1eb7t (<code>===<\/code>) thay v\u00ec so s\u00e1nh th\u00f4ng th\u01b0\u1eddng (<code>==<\/code>). L\u00fd do l\u00e0 v\u00ec:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To\u00e1n t\u1eed <code>==<\/code> kh\u00f4ng ph\u00e2n bi\u1ec7t gi\u1eefa <code>undefined<\/code> v\u00e0 <code>null<\/code>. Ngh\u0129a l\u00e0 <code>x == undefined<\/code> s\u1ebd tr\u1ea3 v\u1ec1 <code>true<\/code> c\u1ea3 khi x l\u00e0 <code>null<\/code>.<\/li>\n\n\n\n<li>Trong khi \u0111\u00f3, to\u00e1n t\u1eed <code>===<\/code> ch\u1ec9 tr\u1ea3 v\u1ec1 true khi gi\u00e1 tr\u1ecb v\u00e0 ki\u1ec3u d\u1eef li\u1ec7u ho\u00e0n to\u00e0n gi\u1ed1ng nhau, n\u00ean <code>x === undefined<\/code> s\u1ebd kh\u00f4ng \u0111\u00e1nh \u0111\u1ed3ng <code>null<\/code> v\u1edbi <code>undefined<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>Ho\u1eb7c m\u1ed9t v\u00ed d\u1ee5 kh\u00e1c v\u1ec1 tr\u01b0\u1eddng h\u1ee3p n\u1ebfu m\u1ed9t h\u00e0m kh\u00f4ng c\u00f3 c\u00e2u l\u1ec7nh return, th\u00ec khi g\u1ecdi h\u00e0m \u0111\u00f3, gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1 s\u1ebd l\u00e0 <code>undefined<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function doSomething() {\n\n\u00a0\u00a0\/\/ kh\u00f4ng return g\u00ec c\u1ea3\n\n}\n\nconsole.log(doSomething()); \/\/ undefined<\/code><\/pre>\n\n\n\n<p>Gi\u1ea3i th\u00edch v\u00ed d\u1ee5 tr\u00ean<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>function doSomething() { ... }<\/code>:<\/strong> khai b\u00e1o m\u1ed9t h\u00e0m (function) trong JavaScript c\u00f3 t\u00ean l\u00e0 <code>doSomething<\/code>. B\u00ean trong h\u00e0m kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb return n\u00e0o.\u00a0<\/li>\n\n\n\n<li><strong><code>doSomething();<\/code><\/strong>: Khi b\u1ea1n g\u1ecdi h\u00e0m n\u00e0y, h\u00e0m s\u1ebd \u0111\u01b0\u1ee3c th\u1ef1c thi, nh\u01b0ng v\u00ec b\u00ean trong kh\u00f4ng c\u00f3 return, n\u00ean h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 gi\u00e1 tr\u1ecb c\u1ee5 th\u1ec3 n\u00e0o.<\/li>\n\n\n\n<li><strong><code>console.log(doSomething());<\/code><\/strong>: In ra gi\u00e1 tr\u1ecb m\u00e0 bi\u1ec3u th\u1ee9c trong ngo\u1eb7c tr\u1ea3 v\u1ec1. V\u00ec <code>doSomething()<\/code> kh\u00f4ng tr\u1ea3 v\u1ec1 g\u00ec, JavaScript s\u1ebd t\u1ef1 \u0111\u1ed9ng tr\u1ea3 v\u1ec1 <code>undefined<\/code> theo m\u1eb7c \u0111\u1ecbnh.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-phan-bi\u1ec7t-undefined-va-not-defined\"><strong>Ph\u00e2n bi\u1ec7t undefined v\u00e0 not defined<\/strong><\/h3>\n\n\n\n<p>Ngo\u00e0i ra, tuy nh\u00ecn c\u00f3 v\u1ebb gi\u1ed1ng nhau, nh\u01b0ng <code>undefined<\/code> v\u00e0 not defined trong JavaScript l\u00e0 hai kh\u00e1i ni\u1ec7m r\u1ea5t kh\u00e1c nhau trong JavaScript.\u00a0<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>undefined<\/code> l\u00e0 m\u1ed9t gi\u00e1 tr\u1ecb h\u1ee3p l\u1ec7 trong JavaScript. Xu\u1ea5t hi\u1ec7n khi m\u1ed9t bi\u1ebfn \u0111\u00e3 \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb n\u00e0o.<\/li>\n\n\n\n<li><code>not defined<\/code> kh\u00f4ng ph\u1ea3i l\u00e0 m\u1ed9t gi\u00e1 tr\u1ecb m\u00e0 l\u00e0 m\u1ed9t l\u1ed7i (error). Khi b\u1ea1n c\u1ed1 g\u1eafng truy c\u1eadp m\u1ed9t bi\u1ebfn ch\u01b0a t\u1eebng \u0111\u01b0\u1ee3c khai b\u00e1o, JavaScript s\u1ebd kh\u00f4ng hi\u1ec3u \u0111\u00f3 l\u00e0 g\u00ec v\u00e0 n\u00e9m l\u1ed7i: <code>ReferenceError: &lt;variable> is not defined<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 2 kh\u00e1i ni\u1ec7m n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o v\u00ed d\u1ee5 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let a;\n\nconsole.log(a); \/\/ in ra undefined\n\nconsole.log(b); \/\/ l\u1ed7i ReferenceError: b is not defined<\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>let a;<\/code>:<\/strong> B\u1ea1n khai b\u00e1o bi\u1ebfn a b\u1eb1ng t\u1eeb kh\u00f3a let, nh\u01b0ng ch\u01b0a g\u00e1n gi\u00e1 tr\u1ecb. Trong JavaScript, n\u1ebfu bi\u1ebfn \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb, th\u00ec gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh c\u1ee7a n\u00f3 l\u00e0 <code>undefined<\/code>.<\/li>\n\n\n\n<li><strong><code>console.log(a);<\/code><\/strong>: Bi\u1ebfn a \u0111\u00e3 \u0111\u01b0\u1ee3c khai b\u00e1o, n\u00ean kh\u00f4ng b\u1ecb l\u1ed7i. V\u00ec b\u1ea1n ch\u01b0a g\u00e1n gi\u00e1 tr\u1ecb n\u00e0o cho a, n\u00ean gi\u00e1 tr\u1ecb c\u1ee7a n\u00f3 l\u00e0 <code>undefined<\/code>.<\/li>\n\n\n\n<li><strong><code>console.log(b);<\/code><\/strong>: Bi\u1ebfn b ch\u01b0a t\u1eebng \u0111\u01b0\u1ee3c khai b\u00e1o \u1edf \u0111\u00e2u c\u1ea3. Khi JavaScript g\u1eb7p bi\u1ebfn ch\u01b0a khai b\u00e1o m\u00e0 b\u1ea1n c\u1ed1 d\u00f9ng n\u00f3, n\u00f3 kh\u00f4ng bi\u1ebft b l\u00e0 g\u00ec, v\u00e0 s\u1ebd b\u00e1o l\u1ed7i.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-m\u1ed9t-s\u1ed1-vi-d\u1ee5-c\u01a1-b\u1ea3n-v\u1ec1-undefined-trong-javascript\"><span class=\"ez-toc-section\" id=\"Mot_so_vi_du_co_ban_ve_undefined_trong_JavaScript\"><\/span><strong>M\u1ed9t s\u1ed1 v\u00ed d\u1ee5 c\u01a1 b\u1ea3n v\u1ec1 undefined trong JavaScript<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-gia-tr\u1ecb-undefined-trong-bi\u1ebfn-variable\"><strong>Gi\u00e1 tr\u1ecb undefined trong bi\u1ebfn (variable)<\/strong><\/h3>\n\n\n\n<p>Khi m\u1ed9t bi\u1ebfn \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb, <a href=\"https:\/\/itviec.com\/blog\/javascript-la-gi\/\">JavaScript<\/a> s\u1ebd t\u1ef1 \u0111\u1ed9ng g\u00e1n cho bi\u1ebfn \u0111\u00f3 gi\u00e1 tr\u1ecb <code>undefined<\/code>.<\/p>\n\n\n\n<p>Ch\u1eb3ng h\u1ea1n v\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y, bi\u1ebfn name \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng kh\u00f4ng \u0111\u01b0\u1ee3c g\u00e1n b\u1ea5t k\u1ef3 gi\u00e1 tr\u1ecb n\u00e0o, do \u0111\u00f3 n\u00f3 nh\u1eadn \u0111\u01b0\u1ee3c gi\u00e1 tr\u1ecb <code>Undefined<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let newVar;\n\nconsole.log(newVar);<\/code><\/pre>\n\n\n\n<p>\u1ede \u0111\u00e2y, bi\u1ebfn <code>newVar<\/code> ch\u1ec9 \u0111\u01b0\u1ee3c khai b\u00e1o b\u1eb1ng t\u1eeb kh\u00f3a let nh\u01b0ng kh\u00f4ng \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb n\u00e0o c\u1ea3. Do \u0111\u00f3, khi g\u1ecdi console.log(newVar), tr\u00ecnh th\u00f4ng d\u1ecbch JavaScript s\u1ebd tr\u1ea3 v\u1ec1 <code>undefined<\/code> v\u00ec n\u00f3 ch\u01b0a c\u00f3 b\u1ea5t k\u1ef3 gi\u00e1 tr\u1ecb n\u00e0o c\u1ee5 th\u1ec3.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-undefined-trong-ham-function\"><strong>Undefined trong h\u00e0m (function)<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t h\u00e0m ho\u1eb7c bi\u1ec3u th\u1ee9c c\u0169ng c\u00f3 th\u1ec3 tr\u1ea3 v\u1ec1 <code>undefined<\/code> trong nh\u1eefng tr\u01b0\u1eddng h\u1ee3p sau:\u00a0<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Khi m\u1ed9t h\u00e0m kh\u00f4ng c\u00f3 c\u00e2u l\u1ec7nh return<\/li>\n\n\n\n<li>H\u00e0m ch\u1ec9 c\u00f3 return m\u00e0 kh\u00f4ng k\u00e8m gi\u00e1 tr\u1ecb<\/li>\n\n\n\n<li>Bi\u1ebfn nh\u1eadn gi\u00e1 tr\u1ecb t\u1eeb h\u00e0m \u0111\u00f3, th\u00ec bi\u1ebfn c\u0169ng s\u1ebd l\u00e0 <code>undefined<\/code><\/li>\n<\/ul>\n\n\n\n<p>Ch\u1eb3ng h\u1ea1n nh\u01b0 v\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function sayhi(name) {\n\n\u00a0\u00a0\u00a0\u00a0console.log(`hi ${name}`);\n\n}\n\nx = sayhi('hike');\n\nconsole.log(`value in x= ${x}`);<\/code><\/pre>\n\n\n\n<p>K\u1ebft qu\u1ea3 hi\u1ec3n th\u1ecb c\u1ee7a \u0111o\u1ea1n code tr\u00ean, h\u00e0m s\u1ebd tr\u1ea3 v\u1ec1 gi\u00e1 tr\u1ecb <code>undefined<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">hi hike<br><br>undefined<\/pre>\n\n\n\n<p>H\u00e0m <code>sayhi(name)<\/code> ch\u1ec9 th\u1ef1c hi\u1ec7n in ra chu\u1ed7i &#8220;hi hike&#8221; nh\u01b0ng kh\u00f4ng c\u00f3 c\u00e2u l\u1ec7nh return n\u00e0o. Do \u0111\u00f3, khi g\u00e1n <code>x = sayhi('hike')<\/code>, bi\u1ebfn x nh\u1eadn gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1 m\u1eb7c \u0111\u1ecbnh l\u00e0 <code>undefined<\/code>. D\u00f2ng <code>console.log(\"value in x= \", x)<\/code> s\u1ebd hi\u1ec3n th\u1ecb:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">hi hike<br><br>value in x= undefined<\/pre>\n\n\n\n<p>D\u00f2ng \u0111\u1ea7u ti\u00ean l\u00e0 k\u1ebft qu\u1ea3 t\u1eeb console.log b\u00ean trong h\u00e0m. D\u00f2ng th\u1ee9 hai cho th\u1ea5y bi\u1ebfn x \u0111\u00e3 nh\u1eadn gi\u00e1 tr\u1ecb <code>undefined<\/code> v\u00ec h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 g\u00ec.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-gia-tr\u1ecb-undefined-trong-thu\u1ed9c-tinh-c\u1ee7a-d\u1ed1i-t\u01b0\u1ee3ng-object\"><strong>Gi\u00e1 tr\u1ecb undefined trong thu\u1ed9c t\u00ednh c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng (Object)<\/strong><\/h3>\n\n\n\n<p>Khi b\u1ea1n truy c\u1eadp v\u00e0o m\u1ed9t thu\u1ed9c t\u00ednh kh\u00f4ng t\u1ed3n t\u1ea1i trong \u0111\u1ed1i t\u01b0\u1ee3ng, JavaScript s\u1ebd tr\u1ea3 v\u1ec1 <code>undefined<\/code>. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const person = { name: \"Alice\" };\n\nconsole.log(person.age);<\/code><\/pre>\n\n\n\n<p>\u0110\u1ed1i t\u01b0\u1ee3ng <code>person<\/code> ch\u1ec9 c\u00f3 thu\u1ed9c t\u00ednh <code>name<\/code>. Khi b\u1ea1n c\u1ed1 truy c\u1eadp v\u00e0o <code>person.age<\/code>, m\u1ed9t thu\u1ed9c t\u00ednh kh\u00f4ng t\u1ed3n t\u1ea1i th\u00ec JavaScript s\u1ebd kh\u00f4ng b\u00e1o l\u1ed7i, m\u00e0 \u0111\u01a1n gi\u1ea3n tr\u1ea3 v\u1ec1 <code>undefined<\/code>. \u0110i\u1ec1u n\u00e0y r\u1ea5t ph\u1ed5 bi\u1ebfn khi l\u00e0m vi\u1ec7c v\u1edbi d\u1eef li\u1ec7u \u0111\u1ed9ng ho\u1eb7c c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng t\u1eeb API, v\u00ec v\u1eady b\u1ea1n n\u00ean ki\u1ec3m tra k\u1ef9 t\u00ednh t\u1ed3n t\u1ea1i c\u1ee7a thu\u1ed9c t\u00ednh tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-tr\u01b0\u1eddng-h\u1ee3p-undefined-trong-m\u1ea3ng-array\"><span class=\"ez-toc-section\" id=\"Cac_truong_hop_undefined_trong_mang_Array\"><\/span><strong>C\u00e1c tr\u01b0\u1eddng h\u1ee3p undefined trong m\u1ea3ng (Array)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>JavaScript c\u0169ng cho ph\u00e9p m\u1ea3ng ch\u1ee9a ph\u1ea7n t\u1eed <code>undefined<\/code> theo hai c\u00e1ch ph\u1ed5 bi\u1ebfn<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ph\u1ea7n t\u1eed trong m\u1ea3ng c\u00f3 gi\u00e1 tr\u1ecb l\u00e0 <code>undefined<\/code> (\u0111\u01b0\u1ee3c khai b\u00e1o r\u00f5 r\u00e0ng).<\/li>\n\n\n\n<li>Slot tr\u1ed1ng (Empty slot \/ Sparse array).&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 2 c\u00e1ch n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o qua v\u00ed d\u1ee5 nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const arr = &#91;1, undefined, 3];\n\nconsole.log(arr&#91;1]); \/\/ undefined<\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ph\u1ea7n t\u1eed th\u1ee9 hai (<code>arr[1]<\/code>) \u0111\u01b0\u1ee3c khai b\u00e1o v\u00e0 c\u00f3 gi\u00e1 tr\u1ecb l\u00e0 <code>undefined<\/code>.<\/li>\n\n\n\n<li>Slot n\u00e0y t\u1ed3n t\u1ea1i trong m\u1ea3ng.<\/li>\n<\/ul>\n\n\n\n<p>M\u1ed9t v\u00ed d\u1ee5 kh\u00e1c v\u1ec1 slot tr\u1ed1ng nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const arr = &#91;1, , 3];\n\nconsole.log(arr&#91;1]); \/\/ undefined<\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u1ea3ng tr\u00ean c\u00f3 m\u1ed9t kho\u1ea3ng tr\u1ed1ng (slot tr\u1ed1ng) \u1edf v\u1ecb tr\u00ed th\u1ee9 hai (<code>arr[1]<\/code>).<\/li>\n\n\n\n<li>K\u1ebft qu\u1ea3 v\u1eabn l\u00e0 <code>undefined<\/code>, nh\u01b0ng kh\u00e1c v\u1edbi ph\u1ea7n t\u1eed c\u00f3 gi\u00e1 tr\u1ecb l\u00e0 <code>undefined<\/code>.<\/li>\n\n\n\n<li>Slot n\u00e0y kh\u00f4ng th\u1ef1c s\u1ef1 c\u00f3 ph\u1ea7n t\u1eed, ch\u1ec9 l\u00e0 m\u1ed9t v\u1ecb tr\u00ed tr\u1ed1ng.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-khi-nao-nen-dung-va-khong-nen-dung-undefined\"><span class=\"ez-toc-section\" id=\"Khi_nao_nen_dung_va_khong_nen_dung_undefined\"><\/span><strong>Khi n\u00e0o n\u00ean d\u00f9ng v\u00e0 kh\u00f4ng n\u00ean d\u00f9ng undefined?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Trong JavaScript, <code>undefined<\/code> l\u00e0 m\u1ed9t gi\u00e1 tr\u1ecb \u0111\u1eb7c bi\u1ec7t th\u01b0\u1eddng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 bi\u1ec3u th\u1ecb r\u1eb1ng m\u1ed9t bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb. Tuy nhi\u00ean, vi\u1ec7c s\u1eed d\u1ee5ng <code>undefined<\/code> c\u1ea7n \u0111\u01b0\u1ee3c c\u00e2n nh\u1eafc k\u1ef9 l\u01b0\u1ee1ng \u0111\u1ec3 tr\u00e1nh g\u00e2y hi\u1ec3u nh\u1ea7m ho\u1eb7c l\u1ed7i kh\u00f4ng mong mu\u1ed1n trong qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 nh\u1eefng tr\u01b0\u1eddng h\u1ee3p n\u00ean v\u00e0 kh\u00f4ng n\u00ean s\u1eed d\u1ee5ng <code>undefined<\/code> trong th\u1ef1c ti\u1ec5n l\u1eadp tr\u00ecnh.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>N\u00ean d\u00f9ng<\/strong><\/td><td><strong>Kh\u00f4ng n\u00ean d\u00f9ng<\/strong><\/td><\/tr><tr><td>Bi\u1ebfn \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb.&nbsp;<\/td><td>Ch\u1ee7 \u0111\u1ed9ng g\u00e1n gi\u00e1 tr\u1ecb <code>undefined<\/code> \u0111\u1ec3 bi\u1ec3u th\u1ecb m\u1ed9t gi\u00e1 tr\u1ecb tr\u1ed1ng, kh\u00f4ng c\u00f2n s\u1eed d\u1ee5ng ho\u1eb7c b\u1ecb x\u00f3a.<\/td><\/tr><tr><td>C\u00e1c h\u00e0m v\u1edbi tham s\u1ed1 t\u00f9y ch\u1ecdn ho\u1eb7c x\u1eed l\u00fd c\u00e1c t\u00ecnh hu\u1ed1ng h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 c\u1ee5 th\u1ec3.<\/td><td>S\u1eed d\u1ee5ng <code>undefined<\/code> nh\u01b0 m\u1ed9t gi\u00e1 tr\u1ecb logic trong c\u00e1c bi\u1ec3u th\u1ee9c \u0111i\u1ec1u ki\u1ec7n m\u00e0 kh\u00f4ng c\u00f3 ki\u1ec3m tra r\u00f5 r\u00e0ng.<\/td><\/tr><tr><td>Ki\u1ec3m tra t\u00ednh t\u1ed3n t\u1ea1i c\u1ee7a thu\u1ed9c t\u00ednh ho\u1eb7c bi\u1ebfn m\u1ed9t c\u00e1ch an to\u00e0n tr\u01b0\u1edbc khi truy c\u1eadp.<\/td><td>Ghi \u0111\u00e8 ho\u1eb7c thay \u0111\u1ed5i gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh c\u1ee7a <code>undefined<\/code> trong ph\u1ea1m vi ch\u01b0\u01a1ng tr\u00ecnh.<\/td><\/tr><tr><td>T\u1eadn d\u1ee5ng gi\u00e1 tr\u1ecb <code>undefined<\/code> m\u1eb7c \u0111\u1ecbnh c\u1ee7a JavaScript \u0111\u1ec3 thi\u1ebft k\u1ebf logic fallback m\u1ed9t c\u00e1ch r\u00f5 r\u00e0ng v\u00e0 an to\u00e0n.<\/td><td>D\u00f9ng <code>undefined<\/code> nh\u01b0 m\u1ed9t gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh trong d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o ho\u1eb7c c\u1ea5u h\u00ecnh.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o qua 2 v\u00ed d\u1ee5 nh\u01b0 sau. \u0110\u1ea7u ti\u00ean, tr\u01b0\u1eddng h\u1ee3p n\u00ean d\u00f9ng <code>undefined<\/code> v\u1edbi t\u00ecnh hu\u1ed1ng l\u00e0 b\u1ea1n mu\u1ed1n khai b\u00e1o tr\u01b0\u1edbc 1 bi\u1ebfn, sau \u0111\u00f3 m\u1edbi g\u00e1n gi\u00e1 tr\u1ecb t\u00f9y theo \u0111i\u1ec1u ki\u1ec7n logic:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let result;\n\nif (someCondition) {\n\n\u00a0\u00a0result = \"Success\";\n\n}\n\nconsole.log(result); \/\/ undefined n\u1ebfu someCondition l\u00e0 false<\/code><\/pre>\n\n\n\n<p>Gi\u1ea3i th\u00edch v\u00ed d\u1ee5 tr\u00ean:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>undefined<\/code> \u1edf \u0111\u00e2y ph\u1ea3n \u00e1nh \u0111\u00fang tr\u1ea1ng th\u00e1i: bi\u1ebfn \u0111\u00e3 t\u1ed3n t\u1ea1i nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a gi\u00e1 tr\u1ecb c\u1ee5 th\u1ec3.<\/li>\n\n\n\n<li>L\u00e0 h\u00e0nh vi m\u1eb7c \u0111\u1ecbnh c\u1ee7a JavaScript, kh\u00f4ng g\u00e2y nh\u1ea7m l\u1eabn v\u00e0 d\u1ec5 x\u1eed l\u00fd ti\u1ebfp b\u1eb1ng logic ki\u1ec3m tra <code>undefined<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>Ti\u1ebfp theo, tr\u01b0\u1eddng h\u1ee3p kh\u00f4ng n\u00ean d\u00f9ng <code>undefined<\/code> trong t\u00ecnh hu\u1ed1ng s\u1eed d\u1ee5ng <code>undefined<\/code> \u0111\u1ec3 bi\u1ec3u th\u1ecb m\u1ed9t gi\u00e1 tr\u1ecb r\u1ed7ng.\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const user = {\n\n\u00a0\u00a0name: \"Alice\",\n\n\u00a0\u00a0age: 25\n\n};\n\n\/\/ X\u00f3a d\u1eef li\u1ec7u\n\nuser.age = undefined; \/\/ Kh\u00f4ng n\u00ean<\/code><\/pre>\n\n\n\n<p>Gi\u1ea3i th\u00edch v\u00ed d\u1ee5:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Khi b\u1ea1n g\u00e1n <code>undefined<\/code>, b\u1ea1n kh\u00f4ng ph\u00e2n bi\u1ec7t \u0111\u01b0\u1ee3c: li\u1ec7u gi\u00e1 tr\u1ecb b\u1ecb xo\u00e1, ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n, hay c\u1ed1 t\u00ecnh \u0111\u1ec3 <code>undefined<\/code>.<\/li>\n\n\n\n<li>G\u00e2y kh\u00f3 hi\u1ec3u trong qu\u00e1 tr\u00ecnh ki\u1ec3m tra d\u1eef li\u1ec7u.<\/li>\n<\/ul>\n\n\n\n<p>C\u00e1ch vi\u1ebft \u0111\u00fang s\u1ebd l\u00e0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>delete user.age; \/\/ ho\u1eb7c:\n\nuser.age = null; \/\/ R\u00f5 r\u00e0ng h\u01a1n khi b\u1ea1n mu\u1ed1n bi\u1ec3u th\u1ecb \"kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb\"<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-3-cach-ki\u1ec3m-tra-gia-tr\u1ecb-m\u1ed9t-bi\u1ebfn-co-ph\u1ea3i-la-undefined-trong-javascript\"><span class=\"ez-toc-section\" id=\"3_cach_kiem_tra_gia_tri_mot_bien_co_phai_la_undefined_trong_JavaScript\"><\/span><strong>3 c\u00e1ch ki\u1ec3m tra gi\u00e1 tr\u1ecb m\u1ed9t bi\u1ebfn c\u00f3 ph\u1ea3i l\u00e0 undefined trong JavaScript<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y, ITviec s\u1ebd h\u01b0\u1edbng d\u1eabn 3 ph\u01b0\u01a1ng ph\u00e1p v\u00e0 c\u00e1ch ti\u1ebfp c\u1eadn kh\u00e1c nhau c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh xem m\u1ed9t bi\u1ebfn c\u00f3 <code>undefined<\/code> thu\u1ed9c JavaScript hay kh\u00f4ng. \u0110i\u1ec1u n\u00e0y s\u1ebd c\u1ea7n thi\u1ebft n\u1ebfu b\u1ea1n mu\u1ed1n tr\u00e1nh m\u00e3 c\u1ee7a m\u00ecnh ph\u00e1t sinh l\u1ed7i khi th\u1ef1c hi\u1ec7n m\u1ed9t thao t\u00e1c v\u1edbi m\u1ed9t bi\u1ebfn ch\u01b0a x\u00e1c \u0111\u1ecbnh.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-so-sanh-tr\u1ef1c-ti\u1ebfp-direct-comparison\"><strong>So s\u00e1nh tr\u1ef1c ti\u1ebfp (Direct comparison)<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t trong nh\u1eefng c\u00e1ch \u0111\u01a1n gi\u1ea3n v\u00e0 ph\u1ed5 bi\u1ebfn nh\u1ea5t \u0111\u1ec3 ki\u1ec3m tra xem m\u1ed9t gi\u00e1 tr\u1ecb c\u00f3 ph\u1ea3i l\u00e0 <code>undefined<\/code> hay kh\u00f4ng l\u00e0 s\u1eed d\u1ee5ng so s\u00e1nh tr\u1ef1c ti\u1ebfp. Ph\u01b0\u01a1ng ph\u00e1p n\u00e0y ki\u1ec3m tra gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1 v\u00e0 so s\u00e1nh n\u00f3 v\u1edbi <code>undefined<\/code> b\u1eb1ng to\u00e1n t\u1eed so s\u00e1nh nghi\u00eam ng\u1eb7t (<code>===<\/code>). C\u00e1ch l\u00e0m r\u1ea5t r\u00f5 r\u00e0ng v\u00e0 d\u1ec5 hi\u1ec3u.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let user = {\n\n\u00a0\u00a0\u00a0\u00a0name: \"John Doe\",\n\n\u00a0\u00a0\u00a0\u00a0age: 14\n\n};\n\nif (user.hobby === undefined) {\n\n\u00a0\u00a0\u00a0\u00a0console.log(\"This is undefined\");\n\n}<\/code><\/pre>\n\n\n\n<p>Trong \u0111o\u1ea1n m\u00e3 tr\u00ean, thu\u1ed9c t\u00ednh hobby kh\u00f4ng t\u1ed3n t\u1ea1i trong \u0111\u1ed1i t\u01b0\u1ee3ng user, n\u00ean khi ki\u1ec3m tra <code>user.hobby === undefined<\/code>, \u0111i\u1ec1u ki\u1ec7n \u0111\u00fang v\u00e0 th\u00f4ng b\u00e1o \u0111\u01b0\u1ee3c in ra. Ph\u01b0\u01a1ng ph\u00e1p n\u00e0y c\u0169ng ho\u1ea1t \u0111\u1ed9ng t\u01b0\u01a1ng t\u1ef1 v\u1edbi m\u1ea3ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let scores = &#91;12, 34, 66, 78];\n\nif (scores&#91;10] === undefined) {\n\n\u00a0\u00a0\u00a0\u00a0console.log(\"This is undefined\");\n\n}<\/code><\/pre>\n\n\n\n<p>\u1ede \u0111\u00e2y, ch\u1ec9 s\u1ed1 th\u1ee9 10 c\u1ee7a m\u1ea3ng scores ch\u01b0a \u0111\u01b0\u1ee3c khai b\u00e1o, v\u00ec v\u1eady truy c\u1eadp v\u00e0o <code>scores[10]<\/code> s\u1ebd tr\u1ea3 v\u1ec1 <code>undefined<\/code>. Ngo\u00e0i ra, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng c\u00e1ch n\u00e0y cho bi\u1ebfn th\u00f4ng th\u01b0\u1eddng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let name;\n\nif (name === undefined) {\n\n\u00a0\u00a0\u00a0\u00a0console.log(\"This is undefined\");\n\n}<\/code><\/pre>\n\n\n\n<p>Bi\u1ebfn name \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb, v\u00ec th\u1ebf gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh c\u1ee7a n\u00f3 l\u00e0 <code>undefined<\/code>, v\u00e0 \u0111i\u1ec1u ki\u1ec7n ki\u1ec3m tra s\u1ebd tr\u1ea3 v\u1ec1 \u0111\u00fang.<\/p>\n\n\n\n<p>Ph\u01b0\u01a1ng ph\u00e1p so s\u00e1nh tr\u1ef1c ti\u1ebfp n\u00e0y ho\u1ea1t \u0111\u1ed9ng t\u1ed1t trong h\u1ea7u h\u1ebft c\u00e1c t\u00ecnh hu\u1ed1ng. Tuy nhi\u00ean, \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o an to\u00e0n tuy\u1ec7t \u0111\u1ed1i trong c\u00e1c phi\u00ean b\u1ea3n JavaScript c\u0169 (n\u01a1i gi\u00e1 tr\u1ecb <code>undefined<\/code> c\u00f3 th\u1ec3 b\u1ecb ghi \u0111\u00e8), b\u1ea1n c\u00f3 th\u1ec3 k\u1ebft h\u1ee3p v\u1edbi typeof ho\u1eb7c s\u1eed d\u1ee5ng void 0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-s\u1eed-d\u1ee5ng-typeof\"><strong>S\u1eed d\u1ee5ng typeof<\/strong><\/h3>\n\n\n\n<p>B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng ki\u1ec3u d\u1eef li\u1ec7u (<code>typeof<\/code>) c\u1ee7a bi\u1ebfn \u0111\u1ec3 ki\u1ec3m tra xem n\u00f3 c\u00f3 ph\u1ea3i l\u00e0 <code>undefined<\/code> hay kh\u00f4ng. Trong JavaScript, <code>undefined<\/code> v\u1eeba l\u00e0 m\u1ed9t gi\u00e1 tr\u1ecb, v\u1eeba l\u00e0 m\u1ed9t ki\u1ec3u d\u1eef li\u1ec7u d\u00e0nh ri\u00eang cho nh\u1eefng bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let name;\n\nconsole.log(typeof name); \/\/ \"undefined\"<\/code><\/pre>\n\n\n\n<p>D\u1ef1a v\u00e0o \u0111\u1eb7c \u0111i\u1ec3m n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra bi\u1ebfn c\u00f3 ph\u1ea3i l\u00e0 <code>undefined<\/code> hay kh\u00f4ng b\u1eb1ng c\u00e1ch so s\u00e1nh ki\u1ec3u d\u1eef li\u1ec7u. C\u00e1ch ki\u1ec3m tra n\u00e0y ho\u1ea1t \u0111\u1ed9ng an to\u00e0n v\u00e0 hi\u1ec7u qu\u1ea3 trong nhi\u1ec1u tr\u01b0\u1eddng h\u1ee3p:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if (typeof user.hobby === \"undefined\") {}\n\nif (typeof scores&#91;10] === \"undefined\") {}\n\nif (typeof name === \"undefined\") {}<\/code><\/pre>\n\n\n\n<p>Tuy nhi\u00ean, b\u1ea1n n\u00ean l\u01b0u \u00fd so s\u00e1nh v\u1edbi chu\u1ed7i &#8220;<code>undefined<\/code>&#8221; th\u00f4ng qua typeof gi\u00fap tr\u00e1nh l\u1ed7i <code>ReferenceError<\/code> khi truy c\u1eadp v\u00e0o bi\u1ebfn ho\u1eb7c thu\u1ed9c t\u00ednh kh\u00f4ng t\u1ed3n t\u1ea1i. \u0110\u1ed3ng th\u1eddi \u0111\u1ea3m b\u1ea3o m\u00e3 ch\u1ea1y an to\u00e0n k\u1ec3 c\u1ea3 khi strict mode.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-toan-t\u1eed-void-void-operator\"><strong>To\u00e1n t\u1eed void (void operator)<\/strong><\/h3>\n\n\n\n<p>To\u00e1n t\u1eed void th\u01b0\u1eddng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 t\u1ea1o ra gi\u00e1 tr\u1ecb nguy\u00ean th\u1ee7y <code>undefined<\/code>. B\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n \u0111i\u1ec1u n\u00e0y b\u1eb1ng c\u00e1ch vi\u1ebft <code>void(0)<\/code> ho\u1eb7c <code>void 0<\/code>, c\u1ea3 hai \u0111\u1ec1u s\u1ebd tr\u1ea3 v\u1ec1 <code>undefined<\/code> nh\u01b0 v\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>console.log(void 0);\u00a0 \u00a0 \/\/ undefined\n\nconsole.log(void(0)); \u00a0 \/\/ undefined<\/code><\/pre>\n\n\n\n<p>V\u1ec1 b\u1ea3n ch\u1ea5t, \u0111i\u1ec1u n\u00e0y ho\u1ea1t \u0111\u1ed9ng t\u01b0\u01a1ng t\u1ef1 nh\u01b0 vi\u1ec7c so s\u00e1nh tr\u1ef1c ti\u1ebfp v\u1edbi <code>undefined<\/code>. Tuy nhi\u00ean, thay v\u00ec s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>undefined<\/code>, b\u1ea1n c\u00f3 th\u1ec3 thay th\u1ebf b\u1eb1ng <code>void(0)<\/code> ho\u1eb7c <code>void 0<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if (typeof user.hobby === void 0) {}\n\nif (typeof scores&#91;10] === void 0) {}\n\nif (typeof name === void 0) {}<\/code><\/pre>\n\n\n\n<p>Ho\u1eb7c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if (typeof user.hobby === void(0)) {}\n\nif (typeof scores&#91;10] === void(0)) {}\n\nif (typeof name === void(0)) {}<\/code><\/pre>\n\n\n\n<p>Vi\u1ec7c s\u1eed d\u1ee5ng <code>void 0<\/code> th\u01b0\u1eddng th\u1ea5y trong c\u00e1c \u0111o\u1ea1n m\u00e3 c\u0169 ho\u1eb7c khi mu\u1ed1n \u0111\u1ea3m b\u1ea3o r\u1eb1ng kh\u00f4ng c\u00f3 nguy c\u01a1 t\u1eeb vi\u1ec7c gi\u00e1 tr\u1ecb <code>undefined<\/code> b\u1ecb ghi \u0111\u00e8 trong c\u00e1c phi\u00ean b\u1ea3n JavaScript c\u0169 (v\u00ed d\u1ee5 nh\u01b0 ES3). Trong h\u1ea7u h\u1ebft c\u00e1c phi\u00ean b\u1ea3n m\u1edbi, vi\u1ec7c s\u1eed d\u1ee5ng tr\u1ef1c ti\u1ebfp <code>undefined<\/code> l\u00e0 an to\u00e0n, nh\u01b0ng void 0 v\u1eabn \u0111\u01b0\u1ee3c m\u1ed9t s\u1ed1 l\u1eadp tr\u00ecnh vi\u00ean \u01b0a th\u00edch v\u00ec t\u00ednh &#8220;b\u1ea5t bi\u1ebfn&#8221; v\u00e0 r\u00f5 r\u00e0ng trong m\u1ee5c \u0111\u00edch.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-khac-bi\u1ec7t-gi\u1eefa-undefined-v\u1edbi-null-la-gi\"><span class=\"ez-toc-section\" id=\"Khac_biet_giua_undefined_voi_null_la_gi\"><\/span><strong>Kh\u00e1c bi\u1ec7t gi\u1eefa undefined v\u1edbi null l\u00e0 g\u00ec?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Trong JavaScript, c\u1ea3 <code>undefined<\/code> v\u00e0 null \u0111\u1ec1u bi\u1ec3u th\u1ecb s\u1ef1 v\u1eafng m\u1eb7t c\u1ee7a m\u1ed9t gi\u00e1 tr\u1ecb c\u00f3 \u00fd ngh\u0129a, nh\u01b0ng ch\u00fang c\u00f3 m\u1ee5c \u0111\u00edch kh\u00e1c nhau v\u00e0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong c\u00e1c b\u1ed1i c\u1ea3nh ri\u00eang bi\u1ec7t.\u00a0<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>undefined<\/code><\/strong>: M\u1ed9t gi\u00e1 tr\u1ecb nguy\u00ean th\u1ee7y (primitive value) \u0111\u01b0\u1ee3c t\u1ef1 \u0111\u1ed9ng g\u00e1n cho c\u00e1c gi\u00e1 tr\u1ecb trong c\u00e1c tr\u01b0\u1eddng h\u1ee3p nh\u01b0 bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o, h\u00e0m tr\u1ea3 v\u1ec1 b\u1ecb thi\u1ebfu hay thu\u1ed9c t\u00ednh c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng (object), ph\u1ea7n t\u1eed m\u1ea3ng (array elements) kh\u00f4ng t\u1ed3n t\u1ea1i.\u00a0<\/li>\n\n\n\n<li><strong><code>null<\/code>:<\/strong> Gi\u00e1 tr\u1ecb \u0111\u1eb7c bi\u1ec7t trong JavaScript bi\u1ec3u th\u1ecb cho s\u1ef1 v\u1eafng m\u1eb7t c\u00f3 ch\u1ee7 \u0111\u00edch c\u1ee7a b\u1ea5t k\u1ef3 gi\u00e1 tr\u1ecb \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0o, th\u01b0\u1eddng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 ch\u1ec9 \u0111\u1ecbnh \u201ckh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb\u201d (no value), \u0111\u1eb7t l\u1ea1i ho\u1eb7c x\u00f3a bi\u1ebfn.\u00a0<\/li>\n<\/ul>\n\n\n\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa hai thu\u1ed9c t\u00ednh n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 theo d\u00f5i b\u1ea3ng so s\u00e1nh d\u01b0\u1edbi \u0111\u00e2y.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>undefined<\/strong><\/td><td><strong>null<\/strong><\/td><\/tr><tr><td>\u0110\u1ea1i di\u1ec7n cho m\u1ed9t bi\u1ebfn \u0111\u00e3 \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb.<\/td><td>\u0110\u1ea1i di\u1ec7n cho s\u1ef1 v\u1eafng m\u1eb7t c\u00f3 ch\u1ee7 \u0111\u00edch c\u1ee7a b\u1ea5t k\u1ef3 gi\u00e1 tr\u1ecb \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0o.<\/td><\/tr><tr><td>Ki\u1ec3u d\u1eef li\u1ec7u nguy\u00ean th\u1ee7y trong JavaScript.<\/td><td>Ki\u1ec3u d\u1eef li\u1ec7u nguy\u00ean th\u1ee7y trong JavaScript.<\/td><\/tr><tr><td>\u0110\u01b0\u1ee3c JavaScript t\u1ef1 \u0111\u1ed9ng g\u00e1n cho c\u00e1c bi\u1ebfn \u0111\u00e3 khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o.<\/td><td>Ph\u1ea3i \u0111\u01b0\u1ee3c g\u00e1n r\u00f5 r\u00e0ng cho m\u1ed9t bi\u1ebfn.<\/td><\/tr><tr><td><code>undefined == null \/\/ true<\/code> (so s\u00e1nh xem ch\u00fang l\u00e0 b\u1eb1ng nhau).<\/td><td><code>undefined == null \/\/ true<\/code> (so s\u00e1nh xem ch\u00fang l\u00e0 b\u1eb1ng nhau).<\/td><\/tr><tr><td><code>undefined === null \/\/ false<\/code> (ch\u00fang kh\u00f4ng b\u1eb1ng nhau v\u1ec1 ki\u1ec3u d\u1eef li\u1ec7u).<\/td><td><code>null === undefined \/\/ false<\/code> (ch\u00fang kh\u00f4ng b\u1eb1ng nhau v\u1ec1 ki\u1ec3u d\u1eef li\u1ec7u).<\/td><\/tr><tr><td>\u0110\u01b0\u1ee3c JavaScript s\u1eed d\u1ee5ng khi m\u1ed9t bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n gi\u00e1 tr\u1ecb.<\/td><td>\u0110\u01b0\u1ee3c l\u1eadp tr\u00ecnh vi\u00ean s\u1eed d\u1ee5ng \u0111\u1ec3 bi\u1ec3u th\u1ecb &#8220;kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb&#8221; ho\u1eb7c &#8220;r\u1ed7ng&#8221;.<\/td><\/tr><tr><td><code>undefined<\/code> l\u00e0 m\u1ed9t thu\u1ed9c t\u00ednh to\u00e0n c\u1ee5c v\u1edbi gi\u00e1 tr\u1ecb l\u00e0 <code>undefined<\/code>.<\/td><td><code>null<\/code> l\u00e0 m\u1ed9t thu\u1ed9c t\u00ednh to\u00e0n c\u1ee5c v\u1edbi gi\u00e1 tr\u1ecb l\u00e0 <code>null<\/code>.<\/td><\/tr><tr><td>C\u00e1c gi\u00e1 tr\u1ecb <code>undefined<\/code> s\u1ebd b\u1ecb lo\u1ea1i b\u1ecf khi tu\u1ea7n t\u1ef1 h\u00f3a JSON.<\/td><td>C\u00e1c gi\u00e1 tr\u1ecb <code>null<\/code> s\u1ebd \u0111\u01b0\u1ee3c gi\u1eef l\u1ea1i khi tu\u1ea7n t\u1ef1 h\u00f3a JSON (v\u00ed d\u1ee5: <code>{ \"key\": null }<\/code>).<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Xem chi ti\u1ebft: S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa undefined v\u00e0 null trong JavaScript<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-cau-h\u1ecfi-th\u01b0\u1eddng-g\u1eb7p-v\u1ec1-undefined-trong-javascript\"><span class=\"ez-toc-section\" id=\"Cac_cau_hoi_thuong_gap_ve_undefined_trong_JavaScript\"><\/span><strong>C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 undefined trong JavaScript<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-t\u1ea1i-sao-ham-javascript-b\u1ecb-undefined\"><strong>T\u1ea1i sao h\u00e0m JavaScript b\u1ecb undefined?<\/strong><\/h3>\n\n\n\n<p>C\u00f3 m\u1ed9t s\u1ed1 nguy\u00ean nh\u00e2n ph\u1ed5 bi\u1ebfn khi\u1ebfn h\u00e0m c\u1ee7a b\u1ea1n b\u1ecb <code>undefined<\/code> nh\u01b0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>H\u00e0m g\u00e1n v\u00e0o bi\u1ebfn nh\u01b0ng g\u1ecdi tr\u01b0\u1edbc khi g\u00e1n gi\u00e1 tr\u1ecb: <\/strong>N\u1ebfu b\u1ea1n khai b\u00e1o h\u00e0m d\u01b0\u1edbi d\u1ea1ng bi\u1ec3u th\u1ee9c (function expression) v\u1edbi var, bi\u1ebfn s\u1ebd \u0111\u01b0\u1ee3c hoisting nh\u01b0ng ch\u01b0a c\u00f3 gi\u00e1 tr\u1ecb. G\u1ecdi h\u00e0m tr\u01b0\u1edbc khi g\u00e1n s\u1ebd khi\u1ebfn bi\u1ebfn c\u00f3 gi\u00e1 tr\u1ecb l\u00e0 <code>undefined<\/code>, v\u00e0 n\u1ebfu c\u1ed1 g\u1ecdi s\u1ebd b\u1ecb l\u1ed7i TypeError.\u00a0<\/li>\n\n\n\n<li><strong>H\u00e0m kh\u00f4ng c\u00f3 l\u1ec7nh return, d\u1eabn \u0111\u1ebfn tr\u1ea3 v\u1ec1 <code>undefined<\/code>:<\/strong> Khi m\u1ed9t h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 gi\u00e1 tr\u1ecb c\u1ee5 th\u1ec3, m\u1eb7c \u0111\u1ecbnh n\u00f3 s\u1ebd tr\u1ea3 v\u1ec1 <code>undefined<\/code>.<\/li>\n\n\n\n<li><strong>H\u00e0m c\u00f3 return nh\u01b0ng kh\u00f4ng k\u00e8m gi\u00e1 tr\u1ecb: <\/strong>Ngay c\u1ea3 khi b\u1ea1n vi\u1ebft return, n\u1ebfu kh\u00f4ng \u0111i k\u00e8m gi\u00e1 tr\u1ecb n\u00e0o, th\u00ec k\u1ebft qu\u1ea3 tr\u1ea3 v\u1ec1 v\u1eabn l\u00e0 <code>undefined<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-lam-sao-d\u1ec3-tranh-l\u1ed7i-undefined-trong-javascript\"><strong>L\u00e0m sao \u0111\u1ec3 tr\u00e1nh l\u1ed7i undefined trong JavaScript?<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ec3 h\u1ea1n ch\u1ebf l\u1ed7i <code>undefined<\/code>, b\u1ea1n c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng nh\u1eefng c\u00e1ch sau \u0111\u00e2y. M\u1ed7i c\u00e1ch s\u1ebd gi\u00fap b\u1ea1n ki\u1ec3m so\u00e1t gi\u00e1 tr\u1ecb bi\u1ebfn t\u1ed1t h\u01a1n v\u00e0 vi\u1ebft code an to\u00e0n h\u01a1n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N\u00ean kh\u1edf t\u1ea1o bi\u1ebfn ngay khi khai b\u00e1o n\u1ebfu b\u1ea1n bi\u1ebft ch\u1eafc ch\u1eafn gi\u00e1 tr\u1ecb ban \u0111\u1ea7u:<\/strong> \u0110i\u1ec1u n\u00e0y s\u1ebd tr\u00e1nh l\u1ed7i do <code>undefined<\/code> ngo\u00e0i \u00fd mu\u1ed1n. Tuy nhi\u00ean, n\u1ebfu logic y\u00eau c\u1ea7u bi\u1ebfn t\u1ea1m th\u1eddi ch\u01b0a c\u00f3 gi\u00e1 tr\u1ecb, h\u00e3y \u0111\u1ea3m b\u1ea3o ki\u1ec3m tra k\u1ef9 khi s\u1eed d\u1ee5ng.\u00a0<\/li>\n\n\n\n<li><strong>S\u1eed d\u1ee5ng to\u00e1n t\u1eed typeof \u0111\u1ec3 ki\u1ec3m tra bi\u1ebfn tr\u01b0\u1edbc khi d\u00f9ng: <\/strong>Gi\u00fap b\u1ea1n tr\u00e1nh truy c\u1eadp v\u00e0o c\u00e1c bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c khai b\u00e1o ho\u1eb7c b\u1ecb <code>undefined<\/code>.<\/li>\n\n\n\n<li><strong>D\u00f9ng to\u00e1n t\u1eed an to\u00e0n nh\u01b0 <code>?.<\/code> (optional chaining): <\/strong>Truy c\u1eadp s\u00e2u v\u00e0o object m\u00e0 kh\u00f4ng lo b\u1ecb l\u1ed7i n\u1ebfu m\u1ed9t ph\u1ea7n n\u00e0o \u0111\u00f3 b\u1ecb <code>undefined<\/code>.<\/li>\n\n\n\n<li><strong>Ki\u1ec3m tra v\u00e0 x\u1eed l\u00fd \u0111\u1ea7y \u0111\u1ee7 c\u00e1c \u0111\u1ed1i s\u1ed1 trong h\u00e0m: <\/strong>Gi\u00fap \u0111\u1ea3m b\u1ea3o c\u00e1c tham s\u1ed1 lu\u00f4n c\u00f3 gi\u00e1 tr\u1ecb khi s\u1eed d\u1ee5ng.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1ed5ng-k\u1ebft\"><span class=\"ez-toc-section\" id=\"Tong_ket\"><\/span><strong>T\u1ed5ng k\u1ebft<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>JavaScript <code>undefined<\/code> <\/strong>kh\u00f4ng ch\u1ec9 \u0111\u01a1n thu\u1ea7n l\u00e0 m\u1ed9t gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh khi bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c g\u00e1n, m\u00e0 c\u00f2n l\u00e0 ch\u00eca kh\u00f3a \u0111\u1ec3 hi\u1ec3u r\u00f5 c\u01a1 ch\u1ebf ho\u1ea1t \u0111\u1ed9ng c\u1ee7a ng\u00f4n ng\u1eef n\u00e0y. Vi\u1ec7c ph\u00e2n bi\u1ec7t <code>undefined<\/code> v\u1edbi <code>null<\/code>, \u0111\u1ed3ng th\u1eddi bi\u1ebft c\u00e1ch ki\u1ec3m tra v\u00e0 x\u1eed l\u00fd ch\u00fang \u0111\u00fang c\u00e1ch s\u1ebd gi\u00fap b\u1ea1n vi\u1ebft code an to\u00e0n h\u01a1n, r\u00f5 r\u00e0ng h\u01a1n v\u00e0 \u00edt l\u1ed7i h\u01a1n. Hy v\u1ecdng b\u00e0i vi\u1ebft \u0111\u00e3 cung c\u1ea5p cho b\u1ea1n ki\u1ebfn th\u1ee9c to\u00e0n di\u1ec7n, th\u1ef1c ti\u1ec5n v\u00e0 d\u1ec5 \u00e1p d\u1ee5ng v\u1ec1 <code>undefined<\/code> nh\u00e9.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Xem chi ti\u1ebft: <strong><a href=\"https:\/\/itviec.com\/blog\/javascript-developer\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript Developer l\u00e0 g\u00ec? C\u00e1c h\u01b0\u1edbng ph\u00e1t tri\u1ec3n c\u1ee7a JavaScript Developer<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript undefined l\u00e0 m\u1ed9t trong nh\u1eefng gi\u00e1 tr\u1ecb m\u00e0 b\u1ea5t k\u1ef3 l\u1eadp tr\u00ecnh vi\u00ean n\u00e0o c\u0169ng t\u1eebng g\u1eb7p, nh\u01b0ng kh\u00f4ng ph\u1ea3i ai c\u0169ng hi\u1ec3u \u0111\u00fang b\u1ea3n ch\u1ea5t c\u1ee7a n\u00f3. N\u1ebfu b\u1ea1n t\u1eebng loay hoay v\u1edbi nh\u1eefng l\u1ed7i ki\u1ec3u \u201cCannot read property of undefined\u201d hay \u201cundefined is not a function\u201d th\u00ec \u0111\u00f3 ch\u00ednh l\u00e0 l\u1ed7i v\u1ec1 [&hellip;]<\/p>\n","protected":false},"author":207,"featured_media":90277,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109,10344],"tags":[],"class_list":["post-90104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","category-javascript"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft - ITviec Blog<\/title>\n<meta name=\"description\" content=\"JavaScript undefined l\u00e0 gi\u00e1 tr\u1ecb xu\u1ea5t hi\u1ec7n trong qu\u00e1 tr\u00ecnh khai b\u00e1o bi\u1ebfn, truy c\u1eadp thu\u1ed9c t\u00ednh, ho\u1eb7c khi h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3. T\u00ecm hi\u1ec3u b\u1ea3n ch\u1ea5t v\u00e0 x\u1eed l\u00fd \u0111\u00fang c\u00e1ch \u0111\u1ec3 code c\u1ee7a b\u1ea1n v\u1eefng ch\u1eafc h\u01a1n!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft\" \/>\n<meta property=\"og:description\" content=\"JavaScript undefined l\u00e0 m\u1ed9t trong nh\u1eefng gi\u00e1 tr\u1ecb m\u00e0 b\u1ea5t k\u1ef3 l\u1eadp tr\u00ecnh vi\u00ean n\u00e0o c\u0169ng t\u1eebng g\u1eb7p, nh\u01b0ng kh\u00f4ng ph\u1ea3i ai c\u0169ng hi\u1ec3u \u0111\u00fang b\u1ea3n ch\u1ea5t c\u1ee7a n\u00f3. N\u1ebfu b\u1ea1n\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-31T15:26:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T15:26:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/javascript-undefined-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1347\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Uyen Ngo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Uyen Ngo\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft - ITviec Blog","description":"JavaScript undefined l\u00e0 gi\u00e1 tr\u1ecb xu\u1ea5t hi\u1ec7n trong qu\u00e1 tr\u00ecnh khai b\u00e1o bi\u1ebfn, truy c\u1eadp thu\u1ed9c t\u00ednh, ho\u1eb7c khi h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3. T\u00ecm hi\u1ec3u b\u1ea3n ch\u1ea5t v\u00e0 x\u1eed l\u00fd \u0111\u00fang c\u00e1ch \u0111\u1ec3 code c\u1ee7a b\u1ea1n v\u1eefng ch\u1eafc h\u01a1n!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/","og_locale":"vi_VN","og_type":"article","og_title":"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft","og_description":"JavaScript undefined l\u00e0 m\u1ed9t trong nh\u1eefng gi\u00e1 tr\u1ecb m\u00e0 b\u1ea5t k\u1ef3 l\u1eadp tr\u00ecnh vi\u00ean n\u00e0o c\u0169ng t\u1eebng g\u1eb7p, nh\u01b0ng kh\u00f4ng ph\u1ea3i ai c\u0169ng hi\u1ec3u \u0111\u00fang b\u1ea3n ch\u1ea5t c\u1ee7a n\u00f3. N\u1ebfu b\u1ea1n","og_url":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2025-07-31T15:26:11+00:00","article_modified_time":"2025-07-31T15:26:13+00:00","og_image":[{"width":2560,"height":1347,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/javascript-undefined-scaled.png","type":"image\/png"}],"author":"Uyen Ngo","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Uyen Ngo","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"16 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/"},"author":{"name":"Uyen Ngo","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/f4cd1226846e0258c664e170d3e52d20"},"headline":"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft","datePublished":"2025-07-31T15:26:11+00:00","dateModified":"2025-07-31T15:26:13+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/"},"wordCount":4150,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/javascript-undefined-scaled.png","articleSection":["Chuy\u00ean m\u00f4n IT","JavaScript"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/","url":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/","name":"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/javascript-undefined-scaled.png","datePublished":"2025-07-31T15:26:11+00:00","dateModified":"2025-07-31T15:26:13+00:00","description":"JavaScript undefined l\u00e0 gi\u00e1 tr\u1ecb xu\u1ea5t hi\u1ec7n trong qu\u00e1 tr\u00ecnh khai b\u00e1o bi\u1ebfn, truy c\u1eadp thu\u1ed9c t\u00ednh, ho\u1eb7c khi h\u00e0m kh\u00f4ng tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3. T\u00ecm hi\u1ec3u b\u1ea3n ch\u1ea5t v\u00e0 x\u1eed l\u00fd \u0111\u00fang c\u00e1ch \u0111\u1ec3 code c\u1ee7a b\u1ea1n v\u1eefng ch\u1eafc h\u01a1n!","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/javascript-undefined-scaled.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/javascript-undefined-scaled.png","width":800,"height":421,"caption":"javascript undefined - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/javascript-undefined-la-gi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"JavaScript undefined l\u00e0 g\u00ec? Nguy\u00ean nh\u00e2n v\u00e0 c\u00e1ch x\u1eed l\u00fd chi ti\u1ebft"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/f4cd1226846e0258c664e170d3e52d20","name":"Uyen Ngo","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/ngo-thieu-my-uyen-author-e1709880420317-100x100.jpg","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/ngo-thieu-my-uyen-author-e1709880420317-100x100.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/ngo-thieu-my-uyen-author-e1709880420317-100x100.jpg","caption":"Uyen Ngo"},"url":"https:\/\/itviec.com\/blog\/author\/uyen-ngo\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/90104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/207"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=90104"}],"version-history":[{"count":4,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/90104\/revisions"}],"predecessor-version":[{"id":90279,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/90104\/revisions\/90279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/90277"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=90104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=90104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=90104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}