{
    "componentChunkName": "component---src-templates-directory-template-jsx",
    "path": "/javascript/",
    "result": {"data":{"markdownRemark":{"html":"<p>Tổng hợp tất cả những kiến thức liên quan đến ngôn ngữ lập trình JavaScript từ cơ bản (biến, kiểu dữ liệu, array, object, hàm,...) đến nâng cao (lập trình hướng đối tượng, design pattern, cách giao tiếp với server...), cách JavaScript làm việc với trình duyệt, web API và một số ví dụ thực tế...</p>\n<div class=\"section-wrapper\">\n<section>\n<h2 id=\"ngôn-ngữ-lập-trình-javascript\" style=\"position:relative;\"><a href=\"#ng%C3%B4n-ng%E1%BB%AF-l%E1%BA%ADp-tr%C3%ACnh-javascript\" aria-label=\"ngôn ngữ lập trình javascript permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Ngôn ngữ lập trình JavaScript</h2>\n<p>Phần này bao gồm tất cả những thành phần liên quan đến ngôn ngữ lập trình JavaScript như: các kiểu dữ liệu, biến, biểu thức, vòng lặp, hàm, array, object, class,...</p>\n<h3 id=\"kiến-thức-tổng-quan\" style=\"position:relative;\"><a href=\"#ki%E1%BA%BFn-th%E1%BB%A9c-t%E1%BB%95ng-quan\" aria-label=\"kiến thức tổng quan permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Kiến thức tổng quan</h3>\n<ul>\n<li><a href=\"/javascript-la-gi/\">JavaScript là gì?</a></li>\n<li><a href=\"/ide-la-gi/\">IDE là gì?</a></li>\n<li><a href=\"/dev-tools-la-gi/\">Dev Tools là gì?</a></li>\n</ul>\n<h3 id=\"javascript-cơ-bản\" style=\"position:relative;\"><a href=\"#javascript-c%C6%A1-b%E1%BA%A3n\" aria-label=\"javascript cơ bản permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JavaScript cơ bản</h3>\n<ul>\n<li><a href=\"/chuong-trinh-javascript-dau-tien/\">Chương trình đầu tiên</a></li>\n<li><a href=\"/cau-lenh-trong-javascript/\">Câu lệnh và chú thích code trong JS</a></li>\n<li><a href=\"/use-strict-trong-js/\">Use strict trong JS</a></li>\n<li><a href=\"/bien-la-gi-bien-trong-javascript/\">Biến là gì? Biến trong JS</a></li>\n<li><a href=\"/hang-la-gi-hang-trong-javascript/\">Hằng là gì? Hằng trong JS</a></li>\n<li><a href=\"/kieu-du-lieu-trong-javascript/\">Các kiểu dữ liệu trong JavaScript</a></li>\n<li><a href=\"/chuyen-doi-kieu-du-lieu-trong-javascript/\">Chuyển đổi kiểu dữ liệu trong JS</a></li>\n<li><a href=\"/ham-tuong-tac-nguoi-dung-alert-confirm-prompt/\">Hàm: alert, confirm, prompt</a></li>\n<li><a href=\"/toan-tu-la-gi-toan-tu-trong-javascript/\">Toán tử là gì? Toán tử trong JS</a></li>\n<li><a href=\"/toan-tu-so-sanh-trong-javascript/\">Toán tử so sánh trong JavaScript</a></li>\n<li><a href=\"/toan-tu-logic-trong-javascript/\">Toán tử logic trong JavaScript</a></li>\n<li><a href=\"/cau-truc-re-nhanh-trong-javascript/\">Cấu trúc rẽ nhánh trong JS</a></li>\n<li><a href=\"/toan-tu-nullish-coalescing-trong-javascript/\">Toán tử Nullish Coalescing (??) trong JS</a></li>\n<li><a href=\"/cau-lenh-switch-case-trong-javascript/\">Lệnh Switch - Case trong JavaScript</a></li>\n<li><a href=\"/vong-lap-trong-javascript/\">Vòng lặp trong JavaScript</a></li>\n<li><a href=\"/ham-la-gi-ham-trong-javascript/\">Hàm là gì? Hàm trong JavaScript</a></li>\n<li><a href=\"/function-expression-trong-javascript/\">Function expression trong JavaScript</a></li>\n<li><a href=\"/arrow-function-la-gi-arrow-function-trong-js/\">Arrow function là gì? Arrow function trong JS</a></li>\n</ul>\n<h3 id=\"đối-tượng-object\" style=\"position:relative;\"><a href=\"#%C4%91%E1%BB%91i-t%C6%B0%E1%BB%A3ng-object\" aria-label=\"đối tượng object permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Đối tượng (object)</h3>\n<ul>\n<li><a href=\"/object-la-gi-object-trong-javascript/\">Object là gì? Object trong JavaScript</a></li>\n<li><a href=\"/so-sanh-object-trong-javascript/\">So sánh hai object trong JS</a></li>\n<li><a href=\"/copy-object-trong-javascript/\">Copy object trong JavaScript</a></li>\n<li><a href=\"/garbage-collection-trong-javascript/\">Garbage collection trong JavaScript</a></li>\n<li><a href=\"/phuong-thuc-object-va-this-trong-javascript/\">Phương thức của Object và this trong JavaScript</a></li>\n<li><a href=\"/khoi-tao-object-new-trong-javascript/\">Khởi tạo object với new trong JavaScript</a></li>\n<li><a href=\"/2-cach-tao-immutable-object-javascript/\">Immutable object - đối tượng bất biến</a></li>\n<li><a href=\"/optional-chaining-trong-javascript/\">Optional chaining trong JavaScript</a></li>\n<li><a href=\"/tim-hieu-ve-symbol-trong-javascript/\">Symbol trong JavaScript</a></li>\n<li><a href=\"/chuyen-object-ve-kieu-nguyen-thuy/\">Chuyển đổi object về kiểu nguyên thủy</a></li>\n</ul>\n<h3 id=\"các-kiểu-dữ-liệu\" style=\"position:relative;\"><a href=\"#c%C3%A1c-ki%E1%BB%83u-d%E1%BB%AF-li%E1%BB%87u\" aria-label=\"các kiểu dữ liệu permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Các kiểu dữ liệu</h3>\n<ul>\n<li><a href=\"/phuong-thuc-cua-kieu-nguyen-thuy/\">Phương thức của kiểu nguyên thủy</a></li>\n<li><a href=\"/kieu-du-lieu-number-trong-javascript/\">Kiểu dữ liệu number trong JavaScript</a></li>\n<li><a href=\"/kieu-du-lieu-string-trong-javascript/\">Kiểu dữ liệu string trong JavaScript</a></li>\n<li><a href=\"/su-dung-es6-template-string-co-gi-hay/\">ES6 template string</a></li>\n<li><a href=\"/tagged-template-es6-la-gi/\">Tagged template ES6</a></li>\n<li><a href=\"/array-la-gi-array-trong-javascript/\">Array là gì? Array trong JavaScript</a></li>\n<li><a href=\"/phuong-thuc-cua-mang-trong-javascript/\">Các phương thức của mảng trong JS</a></li>\n<li><a href=\"/sap-xep-mang-trong-javascript/\">Sắp xếp mảng</a></li>\n<li><a href=\"/sap-xep-tieng-viet-javascript/\">Sắp xếp mảng Tiếng Việt</a></li>\n<li><a href=\"/javascript-foreach-la-cai-quai-gi/\">JavaScript forEach là cái quái gì?</a></li>\n<li><a href=\"/iterable-la-gi-iterable-trong-javascript/\">Iterable là gì? Iterable trong JavaScript</a></li>\n<li><a href=\"/map-trong-javascript-thi-sao/\">Map trong JavaScript</a></li>\n<li><a href=\"/so-sanh-map-voi-object-trong-javascript/\">So sánh Map và Object</a></li>\n<li><a href=\"/ban-biet-gi-ve-set-trong-javascript/\">Set trong JavaScript</a></li>\n<li><a href=\"/weakmap-trong-javascript/\">Weakmap trong JavaScript</a></li>\n<li><a href=\"/weakset-trong-javascript/\">Weakset trong JavaScript</a></li>\n<li><a href=\"/destructuring-assignment-trong-javascript/\">Destructuring Assignment</a></li>\n<li><a href=\"/doi-tuong-date-trong-javascript/\">Đối tượng Date trong JavaScript</a></li>\n<li><a href=\"/tim-hieu-ve-json-trong-javascript/\">JSON trong JavaScript</a></li>\n<li><a href=\"/ung-dung-cua-reduce-javascript/\">Ứng dụng reduce trong mảng</a></li>\n</ul>\n<h3 id=\"kiến-thức-nâng-cao-về-hàm\" style=\"position:relative;\"><a href=\"#ki%E1%BA%BFn-th%E1%BB%A9c-n%C3%A2ng-cao-v%E1%BB%81-h%C3%A0m\" aria-label=\"kiến thức nâng cao về hàm permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Kiến thức nâng cao về hàm</h3>\n<ul>\n<li><a href=\"/ham-de-quy-trong-javascript/\">Hàm đệ quy trong JavaScript</a></li>\n<li><a href=\"/dau-ba-cham-trong-javascript/\">Dấu ba chấm trong JavaScript</a></li>\n<li><a href=\"/tim-hieu-javascript-closures/\">Closure là gì? Tìm hiểu closure trong JS</a></li>\n<li><a href=\"/var-trong-javascript-va-cach-su-dung-iife/\">Var trong JS và cách sử dụng IIFE</a></li>\n<li><a href=\"/doi-tuong-global-trong-javascript/\">Đối tượng global trong JavaScript</a></li>\n<li><a href=\"/function-object-trong-javascript/\">Function object trong JavaScript</a></li>\n<li><a href=\"/cu-phap-new-function-trong-javascript/\">Cú pháp new Function trong JavaScript</a></li>\n<li><a href=\"/ham-settimeout-trong-javascript/\">Hàm setTimeout trong JavaScript</a></li>\n<li><a href=\"/decorator-forwarding-ham-trong-javascript/\">Decorator, forwarding của hàm trong JS</a></li>\n<li><a href=\"/function-binding-trong-javascript/\">Function binding trong JavaScript</a></li>\n</ul>\n<h3 id=\"các-cờ-và-cấu-hình-thuộc-tính-object\" style=\"position:relative;\"><a href=\"#c%C3%A1c-c%E1%BB%9D-v%C3%A0-c%E1%BA%A5u-h%C3%ACnh-thu%E1%BB%99c-t%C3%ADnh-object\" aria-label=\"các cờ và cấu hình thuộc tính object permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Các cờ và cấu hình thuộc tính object</h3>\n<ul>\n<li><a href=\"/writable-enumerable-configurable-object-trong-javascript/\">Writable, enumerable, configurable của object</a></li>\n<li><a href=\"/getter-va-setter-trong-javascript/\">Getter và setter trong JavaScript</a></li>\n</ul>\n<h3 id=\"prototype-và-kế-thừa-prototype\" style=\"position:relative;\"><a href=\"#prototype-v%C3%A0-k%E1%BA%BF-th%E1%BB%ABa-prototype\" aria-label=\"prototype và kế thừa prototype permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Prototype và kế thừa prototype</h3>\n<ul>\n<li><a href=\"/prototype-la-gi-prototype-trong-javascript/\">Prototype là gì? Prototype trong JavaScript</a></li>\n<li><a href=\"/f-prototype-prototype-ham-trong-javascript/\">F.prototype - Prototype của hàm trong JavaScript</a></li>\n<li><a href=\"/native-prototypes-trong-javascript/\">Native prototypes trong JavaScript</a></li>\n<li><a href=\"/phuong-thuc-voi-prototype-trong-javascript/\">Các phương thức với prototype trong JavaScript</a></li>\n</ul>\n<h3 id=\"es6-class\" style=\"position:relative;\"><a href=\"#es6-class\" aria-label=\"es6 class permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ES6 class</h3>\n<ul>\n<li><a href=\"/cu-phap-class-trong-javascript-co-ban/\">Cú pháp cơ bản của class trong JavaScript</a></li>\n<li><a href=\"/ke-thua-class-trong-javascript/\">Kế thừa class trong JavaScript</a></li>\n<li><a href=\"/thuoc-tinh-phuong-thuc-static-class-trong-javascript/\">Thuộc tính và phương thức static của class trong JS</a></li>\n<li><a href=\"/thuoc-tinh-phuong-thuc-private-class-trong-javascript/\">Thuộc tính và phương thức private của class trong JS</a></li>\n<li><a href=\"/ke-thua-built-in-class-trong-javascript/\">Kế thừa built-in class trong JavaScript</a></li>\n<li><a href=\"/kiem-tra-lop-toan-tu-instanceof-trong-javascript/\">Kiểm tra lớp với toán tử instanceof</a></li>\n<li><a href=\"/ky-thuat-mixin-trong-javascript/\">Kĩ thuật mixin trong JavaScript</a></li>\n</ul>\n<h3 id=\"quản-lý-lỗi\" style=\"position:relative;\"><a href=\"#qu%E1%BA%A3n-l%C3%BD-l%E1%BB%97i\" aria-label=\"quản lý lỗi permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Quản lý lỗi</h3>\n<ul>\n<li><a href=\"/quan-ly-loi-voi-try-catch-trong-javascript/\">Quản lý lỗi với try...catch trong JS</a></li>\n<li><a href=\"/tuy-bien-mo-rong-doi-tuong-error/\">Tùy biến và mở rộng đối tượng Error trong JS</a></li>\n</ul>\n<h3 id=\"callback-promise-asyncawait\" style=\"position:relative;\"><a href=\"#callback-promise-asyncawait\" aria-label=\"callback promise asyncawait permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Callback, Promise, async/await</h3>\n<ul>\n<li><a href=\"/xu-ly-bat-dong-bo-callback-promise-async-await/\">Bất đồng bộ với callback, promise, async/await</a></li>\n<li><a href=\"/callback-la-gi-callback-trong-javascript/\">Callback là gì? Callback trong JavaScript</a></li>\n<li><a href=\"/promise-la-gi-promise-trong-javascript/\">Promise là gì? Promise trong JavaScript</a></li>\n<li><a href=\"/chuoi-promise-trong-javascript/\">Chuỗi promise trong JavaScript</a></li>\n<li><a href=\"/ket-thuc-som-promise-chaining-trong-javascript/\">Kết thúc Promise chaining</a></li>\n<li><a href=\"/xu-ly-loi-voi-promise-trong-javascript/\">Xử lý lỗi với promise trong JavaScript</a></li>\n<li><a href=\"/promise-api-trong-javascript/\">Các promise API trong JavaScript</a></li>\n<li><a href=\"/chuyen-callback-thanh-promise-trong-javascript/\">Chuyển callback thành promise trong JS</a></li>\n<li><a href=\"/microtasks-la-gi-microtasks-trong-javascript/\">Microtasks là gì? Microtasks trong JS</a></li>\n<li><a href=\"/async-await-la-gi-async-await-trong-javascript/\">Async/await là gì? Async/await trong JS</a></li>\n<li><a href=\"/xu-ly-bat-dong-bo-song-song-tuan-tu/\">Bất đồng bộ song song hay tuần tự?</a></li>\n</ul>\n<h3 id=\"es6-modules\" style=\"position:relative;\"><a href=\"#es6-modules\" aria-label=\"es6 modules permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ES6 Modules</h3>\n<ul>\n<li><a href=\"/su-dung-es-modules-tren-trinh-duyet/\">ES6 Modules trên trình duyệt</a></li>\n</ul>\n<h3 id=\"kiểm-thử-và-đảm-bảo-chất-lượng-code\" style=\"position:relative;\"><a href=\"#ki%E1%BB%83m-th%E1%BB%AD-v%C3%A0-%C4%91%E1%BA%A3m-b%E1%BA%A3o-ch%E1%BA%A5t-l%C6%B0%E1%BB%A3ng-code\" aria-label=\"kiểm thử và đảm bảo chất lượng code permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Kiểm thử và đảm bảo chất lượng code</h3>\n<ul>\n<li><a href=\"/debug-javascript-de-hay-kho/\">Debug JavaScript dễ hay khó</a></li>\n<li><a href=\"/mot-so-loi-khi-su-dung-strict-mode-javascript/\">Một số lỗi ở Strict mode</a></li>\n<li><a href=\"/thu-thuat-su-dung-console-hieu-qua/\">Sử dụng console hiệu quả</a></li>\n</ul>\n<h3 id=\"regular-expression\" style=\"position:relative;\"><a href=\"#regular-expression\" aria-label=\"regular expression permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Regular Expression</h3>\n<ul>\n<li><a href=\"/tim-hieu-regular-expression-javascript/\">Tìm hiểu Regex JavaScript</a></li>\n<li><a href=\"/mot-so-bieu-thuc-chinh-quy-regexp-hay/\">Một số biểu thức RegExp hay</a></li>\n</ul>\n</section>\n</div>\n<div class=\"section-wrapper below\">\n<section>\n<h2 id=\"javascript-với-trình-duyệt\" style=\"position:relative;\"><a href=\"#javascript-v%E1%BB%9Bi-tr%C3%ACnh-duy%E1%BB%87t\" aria-label=\"javascript với trình duyệt permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JavaScript với trình duyệt</h2>\n<p>Phần này bao gồm những bài viết về cách JavaScript làm việc với trình duyệt như: cách tạo ra các phần tử, bắt sự kiện, lưu dữ liệu vào storage trình duyệt,...</p>\n<h3 id=\"dom\" style=\"position:relative;\"><a href=\"#dom\" aria-label=\"dom permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>DOM</h3>\n<ul>\n<li><a href=\"/co-ban-ve-dom-javascript/\">DOM là gì?</a></li>\n<li><a href=\"/xu-ly-mot-event-javascript-co-ban/\">Một số event JavaScript</a></li>\n<li><a href=\"/html-string-sang-dom-node-voi-domparser/\">DOMParser</a></li>\n<li><a href=\"/chuyen-html-template-sang-dom-node/\">HTML Template sang DOM</a></li>\n<li><a href=\"/giao-tiep-voi-clipboard-su-dung-execcommand/\">Clipboard với execCommand</a></li>\n</ul>\n<h3 id=\"network-requests\" style=\"position:relative;\"><a href=\"#network-requests\" aria-label=\"network requests permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Network requests</h3>\n<ul>\n<li><a href=\"/xmlhttprequest-tao-http-request-den-server-trong-javascript/\">XMLHttpRequest</a></li>\n<li><a href=\"/xmlhttprequest-voi-promise-javascript/\">XMLHttpRequest với Promise</a></li>\n</ul>\n<h3 id=\"lưu-trữ-dữ-liệu\" style=\"position:relative;\"><a href=\"#l%C6%B0u-tr%E1%BB%AF-d%E1%BB%AF-li%E1%BB%87u\" aria-label=\"lưu trữ dữ liệu permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Lưu trữ dữ liệu</h3>\n<ul>\n<li><a href=\"/javascript-indexeddb-tai-sao-khong/\">IndexedDB</a></li>\n<li><a href=\"/localforage-giai-phap-hoan-hao-indexeddb/\">LocalForage thay cho IndexedDB</a></li>\n<li><a href=\"/tim-hieu-ve-http-cookie-voi-javascript/\">Cookie</a></li>\n</ul>\n<h3 id=\"javascript-worker\" style=\"position:relative;\"><a href=\"#javascript-worker\" aria-label=\"javascript worker permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JavaScript Worker</h3>\n<ul>\n<li><a href=\"/javascript-web-worker-javascript-o-background/\">Web Worker API</a></li>\n<li><a href=\"/javascript-service-worker-co-ban/\">Service Worker</a></li>\n</ul>\n</section>\n</div>\n<div class=\"section-wrapper below\">\n<section>\n<h2 id=\"một-số-kiến-thức-khác-về-javascript\" style=\"position:relative;\"><a href=\"#m%E1%BB%99t-s%E1%BB%91-ki%E1%BA%BFn-th%E1%BB%A9c-kh%C3%A1c-v%E1%BB%81-javascript\" aria-label=\"một số kiến thức khác về javascript permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Một số kiến thức khác về JavaScript</h2>\n<p>Phần này bao gồm những thủ thuật, tips &#x26; tricks, design pattern, những kiến thức ít được chia sẻ về JavaScript và một số bài toán thực tế.</p>\n<h3 id=\"thủ-thuật-javascript\" style=\"position:relative;\"><a href=\"#th%E1%BB%A7-thu%E1%BA%ADt-javascript\" aria-label=\"thủ thuật javascript permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Thủ thuật JavaScript</h3>\n<ul>\n<li><a href=\"/21-thu-thuat-javascript-huu-ich/\">21 thủ thuật JavaScript</a></li>\n<li><a href=\"/6-cach-loai-bo-phan-tu-lap-trong-mang/\">6 cách loại bỏ phần tử lặp trong mảng</a></li>\n<li><a href=\"/remove-item-in-array-javascript/\">Remove item in Array</a></li>\n<li><a href=\"/convert-ipv4-sang-decimal-va-nguoc-lai/\">Convert IPv4 sang Decimal và ngược lại</a></li>\n<li><a href=\"/tao-so-ngau-nhien-trong-javascript/\">Tạo số ngẫu nhiên và ứng dụng</a></li>\n</ul>\n<h3 id=\"bài-toán-thực-tế\" style=\"position:relative;\"><a href=\"#b%C3%A0i-to%C3%A1n-th%E1%BB%B1c-t%E1%BA%BF\" aria-label=\"bài toán thực tế permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Bài toán thực tế</h3>\n<ul>\n<li><a href=\"/javascript-tint-color-thay-doi-mau-sac-buc-anh/\">JavaScript Tint Color</a></li>\n<li><a href=\"/anh-nine-patch-scale-khong-vo-trong-javascript/\">Xử lý ảnh Nine-Patch</a></li>\n<li><a href=\"/trien-khai-thuat-toan-undo-redo-trong-javascript/\">Triển khai Undo-Redo</a></li>\n<li><a href=\"/trien-khai-stack-trong-javascript-voi-array-object-hay-map/\">Triển khai Stack</a></li>\n<li><a href=\"/trien-khai-queue-trong-javascript/\">Triển khai Queue</a></li>\n</ul>\n<h3 id=\"design-pattern\" style=\"position:relative;\"><a href=\"#design-pattern\" aria-label=\"design pattern permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Design Pattern</h3>\n<ul>\n<li><a href=\"/js-pattern-constructor-pattern/\">Constructor Pattern</a></li>\n<li><a href=\"/js-pattern-2-module-pattern/\">Module Pattern</a></li>\n<li><a href=\"/js-pattern-3-singleton-pattern/\">Singleton Pattern</a></li>\n<li><a href=\"/js-pattern-4-pubsub-pattern/\">PubSub Pattern</a></li>\n<li><a href=\"/tim-hieu-ki-thuat-method-chaining-co-ban/\">Method Chaining</a></li>\n</ul>\n<h3 id=\"lập-trình-javascript-với-fcc\" style=\"position:relative;\"><a href=\"#l%E1%BA%ADp-tr%C3%ACnh-javascript-v%E1%BB%9Bi-fcc\" aria-label=\"lập trình javascript với fcc permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Lập trình JavaScript với FCC</h3>\n<ul>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-basic-algorithm-scripting/\">Thuật toán cơ bản</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-intermediate-algorithm-scripting/\">Thuật toán nâng cao</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-build-a-tribute-page/\">Tribute Page</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-personal-portfolio/\">Portfolio cá nhân</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-random-quote-machine/\">Random Quote Machine</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-local-weather/\">Ứng dụng thời tiết</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-wikipedia-viewer/\">Wikipedia Viewer</a></li>\n<li><a href=\"/lap-trinh-javascript-voi-fcc-twitch-tv-json-api/\">Twitch TV client</a></li>\n</ul>\n<h3 id=\"tutorials\" style=\"position:relative;\"><a href=\"#tutorials\" aria-label=\"tutorials permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Tutorials</h3>\n<ul>\n<li><a href=\"/mustache-template-voi-jquery/\">Mustache Template với jQuery</a></li>\n<li><a href=\"/html-template-voi-template-string/\">HTML template với template string</a></li>\n<li><a href=\"/smooth-scrolling-trang-web-voi-jquery/\">Smooth Scrolling với jQuery</a></li>\n<li><a href=\"/trien-khai-lazy-loading-image-voi-es6-va-css/\">Lazy Loading Image với ES6 và CSS</a></li>\n<li><a href=\"/thiet-ke-website-responsive-voi-css-menu/\">Menu Responsive</a></li>\n<li><a href=\"/hai-cach-lay-vi-tri-nguoi-dung/\">Lấy vị trí với Geolocation API và ipinfo.io</a></li>\n<li><a href=\"/gui-mail-bang-html-va-formspree-io/\">Gửi email bằng HTML và Formspree.io</a></li>\n<li><a href=\"/tao-dark-theme-voi-css-variable/\">Dark theme với CSS variable</a></li>\n<li><a href=\"/toi-uu-font-awesome-voi-icomoon/\">Tối ưu FontAwesome với IcoMoon</a></li>\n</ul>\n<h3 id=\"javascript-quiz\" style=\"position:relative;\"><a href=\"#javascript-quiz\" aria-label=\"javascript quiz permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>JavaScript Quiz</h3>\n<ul>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-1/\">Quiz phần 1</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-2/\">Quiz phần 2</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-3/\">Quiz phần 3</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-4/\">Quiz phần 4</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-5/\">Quiz phần 5</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-6/\">Quiz phần 6</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-7/\">Quiz phần 7</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-8/\">Quiz phần 8</a></li>\n<li><a href=\"/xoan-nao-voi-phong-van-javascript-9/\">Quiz phần 9</a></li>\n</ul>\n</section>\n</div>","timeToRead":12,"excerpt":"Tổng hợp tất cả những kiến thức liên quan đến ngôn ngữ lập trình JavaScript từ cơ bản (biến, kiểu dữ liệu, array, object, hàm,...) đến nâng…","frontmatter":{"title":"JavaScript Directory","description":"Tổng hợp tất cả những kiến thức liên quan đến ngôn ngữ lập trình JavaScript từ cơ bản đến nâng cao như lập trình hướng đối tượng, design pattern, web API, cách giao tiếp với server..."},"fields":{"slug":"/javascript/"}}},"pageContext":{"slug":"/javascript/"}},
    "staticQueryHashes": []}