{
    "componentChunkName": "component---src-templates-post-template-jsx",
    "path": "/cau-lenh-trong-javascript/",
    "result": {"data":{"markdownRemark":{"html":"<p>Chương trình là tập hợp của các câu lệnh. Hay nói cách khác, câu lệnh trong JavaScript là đơn vị cơ bản xây dựng nên một chương trình. Vì vậy, câu lệnh là khái niệm đầu tiên mà mình cần nắm vững khi học lập trình JavaScript.</p>\n<h2 id=\"câu-lệnh-trong-javascript\" style=\"position:relative;\"><a href=\"#c%C3%A2u-l%E1%BB%87nh-trong-javascript\" aria-label=\"câu lệnh trong 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>Câu lệnh trong JavaScript</h2>\n<p>Câu lệnh là đơn vị cơ bản của một ngôn ngữ lập trình, đưa ra hướng dẫn cho máy tính để thực hiện một hành động.</p>\n<p>Trong bài viết về <a href=\"/chuong-trinh-javascript-dau-tien/\">chương trình JavaScript đầu tiên</a>, bạn đã thấy mình sử dụng hai câu lệnh:</p>\n<ul>\n<li><code>console.log(\"Hello World\")</code>: in ra tab console của <a href=\"/dev-tools-la-gi/\">Dev Tools</a> trên trình duyệt dòng chữ \"Hello World\".</li>\n<li><code>alert(\"Hello World\")</code>: hiển thị dạng hộp thoại (dialog) dòng chữ \"Hello World\".</li>\n</ul>\n<p>Đó là những câu lệnh rất cơ bản.</p>\n<p>Và trong một chương trình, bạn có thể viết nhiều câu lệnh tùy thích. Mỗi câu lệnh trong JavaScript thường được ngăn cách nhau bởi dấu chấm phẩy (<code>;</code>).</p>\n<p>Ví dụ hiển thị dòng chữ trên bằng hai câu lệnh <code>console.log</code> khác nhau:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">console.log(\"Hello\");console.log(\"World\");</code></pre></div>\n<p>Thông thường, mình sẽ viết mỗi câu lệnh trên một dòng cho dễ nhìn hơn:</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\">console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"World\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Kết quả thu được:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Hello\nWorld</code></pre></div>\n<h2 id=\"dấu-chấm-phẩy-trong-javascript\" style=\"position:relative;\"><a href=\"#d%E1%BA%A5u-ch%E1%BA%A5m-ph%E1%BA%A9y-trong-javascript\" aria-label=\"dấu chấm phẩy trong 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>Dấu chấm phẩy trong JavaScript</h2>\n<p>Dấu chấm phẩy trong JavaScript thường có thể bỏ qua nếu bạn viết các câu lệnh trên nhiều dòng. Ở ví dụ trên, bạn bỏ qua dấu chấm phẩy như sau:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">console.log(\"Hello\")\nconsole.log(\"World\")</code></pre></div>\n<p>Bạn vẫn thu được kết quả:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Hello\nWorld</code></pre></div>\n<p>Nguyên nhân là do trình thông dịch <strong>tự động thêm dấu chấm phẩy</strong> dựa trên kí tự xuống dòng. Tuy nhiên, vẫn có nhiều trường hợp xuống dòng nhưng JavaScript vẫn hiểu đó là một câu lệnh, ví dụ:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">console.log(1 +\n1 +\n1);</code></pre></div>\n<p>Ba dòng trên vẫn chỉ là một câu lệnh. Và kết quả thu được là: <strong>3</strong>.</p>\n<p>Bởi vì, khi hết dòng đầu tiên, bạn thấy rằng vẫn thiếu dấu đóng ngoặc <code>)</code> cho câu lệnh <code>console.log()</code>.</p>\n<p>Do đó, trình thông dịch hiểu rằng, đây là câu lệnh không đầy đủ, nên sẽ không chèn dấu chấm phẩy vào cuối dòng.</p>\n<p><strong>Trình thông dịch JavaScript có thực sự thông minh như vậy?</strong></p>\n<p>Đúng là trình thông dịch JavaScript khá thông minh. Nhưng vẫn có nhiều trường hợp mà bạn sẽ nhận được một kết quả không như mong muốn.</p>\n<p>Ví dụ một đoạn code chạy đúng:</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\">console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hello world\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">value</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Có thể bạn chưa hiểu về câu lệnh thứ hai (các bài viết sau bạn sẽ biết) - kết quả hiển thị là:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Hello world\n1\n2</code></pre></div>\n<p><strong>Nhưng nếu bạn bỏ qua dấu chấm phẩy thì sao?</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">console.log(\"Hello world\")\n[1, 2].forEach((value) => console.log(value))</code></pre></div>\n<p>Bạn sẽ bị lỗi cú pháp:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Hello world\nUncaught TypeError: Cannot read properties of undefined (reading '2')</code></pre></div>\n<p>Kì lạ phải không? 🤔</p>\n<p>Đây là một trong số những thứ gây đau đầu nhất khi lập trình JavaScript. Vì vậy, lời khuyên cho bạn là:</p>\n<blockquote>\n<p>Luôn luôn sử dụng dấu chấm phẩy để kết thúc một câu lệnh.</p>\n</blockquote>\n<h2 id=\"chú-thích-code-trong-javascript\" style=\"position:relative;\"><a href=\"#ch%C3%BA-th%C3%ADch-code-trong-javascript\" aria-label=\"chú thích code trong 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>Chú thích code trong JavaScript</h2>\n<p>Theo thời gian, chương trình sẽ phức tạp dần lên. Số lượng câu lệnh JavaScript cũng sẽ tăng lên theo. Có nhiều câu lệnh mà khi xem lại, bạn sẽ không hiểu tại sao mình viết code như vậy.</p>\n<p>Để tránh tình trạng này xảy ra, bạn nên viết lại chú thích (comment).</p>\n<p>Có hai kiểu viết chú thích là:</p>\n<ul>\n<li>Chú thích một dòng: sử dụng <code>//</code></li>\n<li>Chú thích nhiều dòng: sử dụng <code>/* */</code></li>\n</ul>\n<p>Ví dụ chú thích một dòng:</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token comment\">// Đây là chú chích trên 1 dòng</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"World\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// Đây cũng là chú thích 1 dòng nhưng ở cuối câu lệnh</span>\n\n<span class=\"token comment\">// Tạm thời bỏ qua câu lệnh sau đây</span>\n<span class=\"token comment\">//alert(\"Hello world\");</span></code></pre></div>\n<p>Ví dụ chú thích trên nhiều dòng:</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token comment\">/* Đây là chú thích\ntrên nhiều dòng\n*/</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hello\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"World\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">/* Đây cũng là chú thích\nnhiều dòng nhưng ở cuối câu lệnh */</span>\n\n<span class=\"token comment\">/**\n * Tạm thời bỏ qua câu lệnh sau đây\n * alert(\"Hello world\");\n * /</span></code></pre></div>\n<p>Khi chạy chương trình, <a href=\"/javascript-la-gi/#javascript-engine-l%C3%A0-g%C3%AC\">JavaScript engine</a> sẽ bỏ qua thành phần chú thích này.</p>\n<blockquote>\n<p>📝 Có nhiều quan điểm về việc có nên viết chú thích hay không. Theo suy nghĩ cá nhân, mình sẽ chỉ viết chú thích khi cần thiết.</p>\n<p>Một vài trường hợp mình viết chú thích:</p>\n<ul>\n<li>Việc đặt tên biến không diễn tả được hết ý nghĩa của nó (muốn đầy đủ ý nghĩa thì nó lại quá dài).</li>\n<li>Sử một công thức đã được chứng minh (nếu không chú thích lại sẽ không biết công thức đó ở đâu ra).</li>\n<li>Giải thích ý nghĩa của một hàm (tại sao lại phải viết hàm này...).</li>\n<li>Tạm thời bỏ qua một vài đoạn code chưa dùng tới.</li>\n<li>Và nhiều trường hợp khác nữa...</li>\n</ul>\n<p><em>Có một số khái niệm mới ở đây, mình sẽ trình bày ở các bài viết sau.</em></p>\n</blockquote>\n<p>Dĩ nhiên, bạn cũng đừng sợ việc viết nhiều chú thích sẽ làm cho trang web nặng lên. Vì hiện giờ đã có rất nhiều công cụ hỗ trợ <strong>bỏ hết chú thích</strong> khi triển khai trang web ở môi trường thực tế.</p>\n<h2 id=\"tổng-kết\" style=\"position:relative;\"><a href=\"#t%E1%BB%95ng-k%E1%BA%BFt\" aria-label=\"tổng kế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>Tổng kết</h2>\n<ul>\n<li>Câu lệnh là đơn vị cơ bản xây dựng nên chương trình.</li>\n<li>Các câu lệnh trong JavaScript thường được ngăn cách nhau bởi dấu chấm phẩy.</li>\n<li>Bạn có thể bỏ qua dấu chấm phẩy khi viết các câu lệnh JavaScript trên nhiều dòng. Tuy nhiên, tốt nhất là <strong>nên sử dụng dấu chấm phẩy</strong> để tránh bị lỗi không mong muốn.</li>\n<li>Bạn cũng nên viết chú thích cho code khi cần thiết. Chú thích giúp bạn hoặc đồng nghiệp hiểu rõ hơn ý nghĩa của các câu lệnh, đoạn code trong chương trình.</li>\n</ul>","timeToRead":5,"excerpt":"Chương trình là tập hợp của các câu lệnh. Hay nói cách khác, câu lệnh trong JavaScript là đơn vị cơ bản xây dựng nên một chương trình. Vì…","frontmatter":{"directory":"JavaScript","title":"Câu lệnh trong JavaScript","date":"2017-04-28T20:00:00Z","tags":null,"description":"Chương trình là tập hợp của các câu lệnh. Nói cách khác, câu lệnh trong JavaScript là đơn vị cơ bản xây dựng nên một chương trình. Vì vậy, đây là khái niệm đầu tiên cần nắm vững.","keywords":"câu lệnh trong javascript","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"fixed","backgroundColor":"#283838","images":{"fallback":{"src":"/static/13a26912065f493bd304ddbaf88372fd/bc51f/cau-lenh-trong-javascript.png","srcSet":"/static/13a26912065f493bd304ddbaf88372fd/bc51f/cau-lenh-trong-javascript.png 660w","sizes":"660px"},"sources":[{"srcSet":"/static/13a26912065f493bd304ddbaf88372fd/2b2b5/cau-lenh-trong-javascript.webp 660w","type":"image/webp","sizes":"660px"}]},"width":660,"height":400}}},"update":"2021-10-31T20:00:00Z"},"fields":{"slug":"/cau-lenh-trong-javascript/","date":"2017-04-28T20:00:00.000Z"}},"sameSeries":{"totalCount":18,"edges":[{"node":{"fields":{"slug":"/chuong-trinh-javascript-dau-tien/","date":"2017-04-27T20:00:00.000Z"},"excerpt":"Trong những bài viết trước, bạn đã biết các kiến thức tổng quan về JavaScript rồi. Hôm nay, mình sẽ bắt đầu viết chương trình JavaScript đầu…","timeToRead":8,"frontmatter":{"title":"Chương trình JavaScript đầu tiên","shortTitle":null,"tags":null,"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/4dd49b6456450afe95e717f7f7adbd2c/bc51f/chuong-trinh-javascript-dau-tien.png","srcSet":"/static/4dd49b6456450afe95e717f7f7adbd2c/41200/chuong-trinh-javascript-dau-tien.png 165w,\n/static/4dd49b6456450afe95e717f7f7adbd2c/f979a/chuong-trinh-javascript-dau-tien.png 330w,\n/static/4dd49b6456450afe95e717f7f7adbd2c/bc51f/chuong-trinh-javascript-dau-tien.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/4dd49b6456450afe95e717f7f7adbd2c/322ad/chuong-trinh-javascript-dau-tien.webp 165w,\n/static/4dd49b6456450afe95e717f7f7adbd2c/de3b3/chuong-trinh-javascript-dau-tien.webp 330w,\n/static/4dd49b6456450afe95e717f7f7adbd2c/2b2b5/chuong-trinh-javascript-dau-tien.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-04-27T20:00:00Z","update":"2021-10-30T20:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/cau-lenh-trong-javascript/","date":"2017-04-28T20:00:00.000Z"},"excerpt":"Chương trình là tập hợp của các câu lệnh. Hay nói cách khác, câu lệnh trong JavaScript là đơn vị cơ bản xây dựng nên một chương trình. Vì…","timeToRead":5,"frontmatter":{"title":"Câu lệnh trong JavaScript","shortTitle":null,"tags":null,"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/13a26912065f493bd304ddbaf88372fd/bc51f/cau-lenh-trong-javascript.png","srcSet":"/static/13a26912065f493bd304ddbaf88372fd/41200/cau-lenh-trong-javascript.png 165w,\n/static/13a26912065f493bd304ddbaf88372fd/f979a/cau-lenh-trong-javascript.png 330w,\n/static/13a26912065f493bd304ddbaf88372fd/bc51f/cau-lenh-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/13a26912065f493bd304ddbaf88372fd/322ad/cau-lenh-trong-javascript.webp 165w,\n/static/13a26912065f493bd304ddbaf88372fd/de3b3/cau-lenh-trong-javascript.webp 330w,\n/static/13a26912065f493bd304ddbaf88372fd/2b2b5/cau-lenh-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-04-28T20:00:00Z","update":"2021-10-31T20:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/use-strict-trong-js/","date":"2017-04-29T20:00:00.000Z"},"excerpt":"JavaScript tồn tại đến nay là hơn 20 năm. Vậy mà code JavaScript từ lâu giờ vẫn chạy tốt. Bạn có bao giờ thắc mắc lý do tại sao không? Đó là…","timeToRead":4,"frontmatter":{"title":"Use strict trong JS","shortTitle":null,"tags":["Strict Mode"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/e37de929382368b4b91a791351418166/bc51f/use-strict-trong-js.png","srcSet":"/static/e37de929382368b4b91a791351418166/41200/use-strict-trong-js.png 165w,\n/static/e37de929382368b4b91a791351418166/f979a/use-strict-trong-js.png 330w,\n/static/e37de929382368b4b91a791351418166/bc51f/use-strict-trong-js.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/e37de929382368b4b91a791351418166/322ad/use-strict-trong-js.webp 165w,\n/static/e37de929382368b4b91a791351418166/de3b3/use-strict-trong-js.webp 330w,\n/static/e37de929382368b4b91a791351418166/2b2b5/use-strict-trong-js.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-04-29T20:00:00Z","update":"2021-10-31T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/bien-la-gi-bien-trong-javascript/","date":"2017-04-30T20:00:00.000Z"},"excerpt":"Nếu như trong toán học có khái niệm biến số thì trong lập trình cũng có khái niệm biến. Đây là một thành phần không thể thiếu trong lập…","timeToRead":11,"frontmatter":{"title":"Biến là gì? Cơ bản về biến trong JavaScript","shortTitle":"Biến là gì? Biến trong JavaScript","tags":["Biến"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/82bb08577645a0479621b3a1ac27b5d4/bc51f/bien-la-gi-bien-trong-javascript.png","srcSet":"/static/82bb08577645a0479621b3a1ac27b5d4/41200/bien-la-gi-bien-trong-javascript.png 165w,\n/static/82bb08577645a0479621b3a1ac27b5d4/f979a/bien-la-gi-bien-trong-javascript.png 330w,\n/static/82bb08577645a0479621b3a1ac27b5d4/bc51f/bien-la-gi-bien-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/82bb08577645a0479621b3a1ac27b5d4/322ad/bien-la-gi-bien-trong-javascript.webp 165w,\n/static/82bb08577645a0479621b3a1ac27b5d4/de3b3/bien-la-gi-bien-trong-javascript.webp 330w,\n/static/82bb08577645a0479621b3a1ac27b5d4/2b2b5/bien-la-gi-bien-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-04-30T20:00:00Z","update":"2021-11-01T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/hang-la-gi-hang-trong-javascript/","date":"2017-05-01T20:00:00.000Z"},"excerpt":"Tương tự như biến, hằng cũng là một thành phần quan trọng trong lập trình JavaScript. Sau đây, mình sẽ tìm hiểu xem hằng là gì, cách khai…","timeToRead":10,"frontmatter":{"title":"Hằng là gì? Cơ bản về hằng trong JavaScript","shortTitle":"Hằng là gì? Hằng trong JavaScript","tags":["Hằng"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/b15102cf38a50f291ce569aca2cf91db/bc51f/hang-la-gi-hang-trong-javascript.png","srcSet":"/static/b15102cf38a50f291ce569aca2cf91db/41200/hang-la-gi-hang-trong-javascript.png 165w,\n/static/b15102cf38a50f291ce569aca2cf91db/f979a/hang-la-gi-hang-trong-javascript.png 330w,\n/static/b15102cf38a50f291ce569aca2cf91db/bc51f/hang-la-gi-hang-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/b15102cf38a50f291ce569aca2cf91db/322ad/hang-la-gi-hang-trong-javascript.webp 165w,\n/static/b15102cf38a50f291ce569aca2cf91db/de3b3/hang-la-gi-hang-trong-javascript.webp 330w,\n/static/b15102cf38a50f291ce569aca2cf91db/2b2b5/hang-la-gi-hang-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-01T20:00:00Z","update":"2021-11-03T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/kieu-du-lieu-trong-javascript/","date":"2017-05-02T20:00:00.000Z"},"excerpt":"Trong hai bài viết về biến và hằng trong JavaScript, mình có đề cập đến việc gán giá trị cho biến và hằng. Ở đó, mỗi giá trị đều có một kiểu…","timeToRead":12,"frontmatter":{"title":"Các kiểu dữ liệu trong JavaScript","shortTitle":null,"tags":["Kiểu dữ liệu","String"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/c9a12e83b97c9804fa9b2252c7c32ec5/bc51f/kieu-du-lieu-trong-javascript.png","srcSet":"/static/c9a12e83b97c9804fa9b2252c7c32ec5/41200/kieu-du-lieu-trong-javascript.png 165w,\n/static/c9a12e83b97c9804fa9b2252c7c32ec5/f979a/kieu-du-lieu-trong-javascript.png 330w,\n/static/c9a12e83b97c9804fa9b2252c7c32ec5/bc51f/kieu-du-lieu-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/c9a12e83b97c9804fa9b2252c7c32ec5/322ad/kieu-du-lieu-trong-javascript.webp 165w,\n/static/c9a12e83b97c9804fa9b2252c7c32ec5/de3b3/kieu-du-lieu-trong-javascript.webp 330w,\n/static/c9a12e83b97c9804fa9b2252c7c32ec5/2b2b5/kieu-du-lieu-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-02T20:00:00Z","update":"2021-11-04T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/chuyen-doi-kieu-du-lieu-trong-javascript/","date":"2017-05-03T19:00:00.000Z"},"excerpt":"Bài viết trước bạn đã biết về 8 kiểu dữ liệu cơ bản trong JavaScript. Và khi học về toán tử hay hàm, bạn sẽ thấy là các kiểu dữ liệu này có…","timeToRead":3,"frontmatter":{"title":"Chuyển đổi kiểu dữ liệu trong JavaScript","shortTitle":"Chuyển đổi kiểu dữ liệu trong JS","tags":["Kiểu dữ liệu"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/7a5137ae71ec619ae6ca07b75469c483/bc51f/chuyen-doi-kieu-du-lieu-trong-javascript.png","srcSet":"/static/7a5137ae71ec619ae6ca07b75469c483/41200/chuyen-doi-kieu-du-lieu-trong-javascript.png 165w,\n/static/7a5137ae71ec619ae6ca07b75469c483/f979a/chuyen-doi-kieu-du-lieu-trong-javascript.png 330w,\n/static/7a5137ae71ec619ae6ca07b75469c483/bc51f/chuyen-doi-kieu-du-lieu-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/7a5137ae71ec619ae6ca07b75469c483/322ad/chuyen-doi-kieu-du-lieu-trong-javascript.webp 165w,\n/static/7a5137ae71ec619ae6ca07b75469c483/de3b3/chuyen-doi-kieu-du-lieu-trong-javascript.webp 330w,\n/static/7a5137ae71ec619ae6ca07b75469c483/2b2b5/chuyen-doi-kieu-du-lieu-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-03T19:00:00Z","update":"2021-11-15T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/ham-tuong-tac-nguoi-dung-alert-confirm-prompt/","date":"2017-05-03T19:15:00.000Z"},"excerpt":"Trong bài viết về chương trình JavaScript đầu tiên, mình có đề cập đến việc hiển thị hộp thoại với hàm alert. Đây là một trong ba hàm giúp…","timeToRead":5,"frontmatter":{"title":"Tương tác người dùng với: alert, confirm và prompt","shortTitle":"Hàm alert, confirm và prompt","tags":["Trình duyệt"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/6dd138b66140e8ab67d101ec5479a038/bc51f/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.png","srcSet":"/static/6dd138b66140e8ab67d101ec5479a038/41200/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.png 165w,\n/static/6dd138b66140e8ab67d101ec5479a038/f979a/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.png 330w,\n/static/6dd138b66140e8ab67d101ec5479a038/bc51f/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/6dd138b66140e8ab67d101ec5479a038/322ad/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.webp 165w,\n/static/6dd138b66140e8ab67d101ec5479a038/de3b3/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.webp 330w,\n/static/6dd138b66140e8ab67d101ec5479a038/2b2b5/ham-tuong-tac-nguoi-dung-alert-confirm-prompt.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-03T19:15:00Z","update":"2021-11-18T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/toan-tu-la-gi-toan-tu-trong-javascript/","date":"2017-05-03T20:00:00.000Z"},"excerpt":"Trong toán học, bạn đã biết về các toán tử cơ bản như: cộng (+), trừ (-), nhân (*) và chia (/),... Trong JavaScript cũng có những toán tử…","timeToRead":12,"frontmatter":{"title":"Toán tử là gì? Các toán tử trong JavaScript","shortTitle":"Toán tử là gì? Các toán tử trong JS","tags":["Toán tử"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/28a02b740d28ba41efde457e2f2cf867/bc51f/toan-tu-la-gi-toan-tu-trong-javascript.png","srcSet":"/static/28a02b740d28ba41efde457e2f2cf867/41200/toan-tu-la-gi-toan-tu-trong-javascript.png 165w,\n/static/28a02b740d28ba41efde457e2f2cf867/f979a/toan-tu-la-gi-toan-tu-trong-javascript.png 330w,\n/static/28a02b740d28ba41efde457e2f2cf867/bc51f/toan-tu-la-gi-toan-tu-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/28a02b740d28ba41efde457e2f2cf867/322ad/toan-tu-la-gi-toan-tu-trong-javascript.webp 165w,\n/static/28a02b740d28ba41efde457e2f2cf867/de3b3/toan-tu-la-gi-toan-tu-trong-javascript.webp 330w,\n/static/28a02b740d28ba41efde457e2f2cf867/2b2b5/toan-tu-la-gi-toan-tu-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-03T20:00:00Z","update":"2021-11-06T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/toan-tu-so-sanh-trong-javascript/","date":"2017-05-04T20:00:00.000Z"},"excerpt":"Qua bài viết trước, bạn đã biết toán tử là gì, cũng như các loại toán tử trong JavaScript giúp cho việc tính toán. Tiếp theo, mình sẽ tìm…","timeToRead":14,"frontmatter":{"title":"Toán tử so sánh trong JavaScript","shortTitle":null,"tags":["Toán tử"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/49304b10105cbd8e9efdf2a6047dac00/bc51f/toan-su-so-sanh-trong-javascript.png","srcSet":"/static/49304b10105cbd8e9efdf2a6047dac00/41200/toan-su-so-sanh-trong-javascript.png 165w,\n/static/49304b10105cbd8e9efdf2a6047dac00/f979a/toan-su-so-sanh-trong-javascript.png 330w,\n/static/49304b10105cbd8e9efdf2a6047dac00/bc51f/toan-su-so-sanh-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/49304b10105cbd8e9efdf2a6047dac00/322ad/toan-su-so-sanh-trong-javascript.webp 165w,\n/static/49304b10105cbd8e9efdf2a6047dac00/de3b3/toan-su-so-sanh-trong-javascript.webp 330w,\n/static/49304b10105cbd8e9efdf2a6047dac00/2b2b5/toan-su-so-sanh-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-04T20:00:00Z","update":"2021-11-07T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/toan-tu-logic-trong-javascript/","date":"2017-05-05T20:00:00.000Z"},"excerpt":"JavaScript có bốn toán tử logic là: OR ||, AND &&, NOT ! và \"Nullish Coalescing\" ??. Trong đó, ba toán tử OR, AND và NOT là ba toán tử logic…","timeToRead":18,"frontmatter":{"title":"Toán tử logic trong JavaScript","shortTitle":null,"tags":["Toán tử"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/32294ea96dc7e5564a6ea4479a778205/bc51f/toan-tu-logic-trong-javascript.png","srcSet":"/static/32294ea96dc7e5564a6ea4479a778205/41200/toan-tu-logic-trong-javascript.png 165w,\n/static/32294ea96dc7e5564a6ea4479a778205/f979a/toan-tu-logic-trong-javascript.png 330w,\n/static/32294ea96dc7e5564a6ea4479a778205/bc51f/toan-tu-logic-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/32294ea96dc7e5564a6ea4479a778205/322ad/toan-tu-logic-trong-javascript.webp 165w,\n/static/32294ea96dc7e5564a6ea4479a778205/de3b3/toan-tu-logic-trong-javascript.webp 330w,\n/static/32294ea96dc7e5564a6ea4479a778205/2b2b5/toan-tu-logic-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-05T20:00:00Z","update":"2021-11-09T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/cau-truc-re-nhanh-trong-javascript/","date":"2017-05-06T20:00:00.000Z"},"excerpt":"Khi lập trình, bạn sẽ thường xuyên gặp tình huống là chỉ thực hiện một hành động nếu một hoặc nhiều điều kiện thỏa mãn. Để giải quyết vấn đề…","timeToRead":9,"frontmatter":{"title":"Cấu trúc rẽ nhánh trong JavaScript","shortTitle":"Cấu trúc rẽ nhánh trong JS","tags":["Toán tử","Cấu trúc rẽ nhánh"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/891280dd9e0f2f7b120bb8953b465bfd/bc51f/cau-truc-re-nhanh-trong-javascript.png","srcSet":"/static/891280dd9e0f2f7b120bb8953b465bfd/41200/cau-truc-re-nhanh-trong-javascript.png 165w,\n/static/891280dd9e0f2f7b120bb8953b465bfd/f979a/cau-truc-re-nhanh-trong-javascript.png 330w,\n/static/891280dd9e0f2f7b120bb8953b465bfd/bc51f/cau-truc-re-nhanh-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/891280dd9e0f2f7b120bb8953b465bfd/322ad/cau-truc-re-nhanh-trong-javascript.webp 165w,\n/static/891280dd9e0f2f7b120bb8953b465bfd/de3b3/cau-truc-re-nhanh-trong-javascript.webp 330w,\n/static/891280dd9e0f2f7b120bb8953b465bfd/2b2b5/cau-truc-re-nhanh-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-06T20:00:00Z","update":"2021-11-17T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/toan-tu-nullish-coalescing-trong-javascript/","date":"2017-05-06T21:00:00.000Z"},"excerpt":"Toán tử Nullish Coalescing ký hiệu ?? (toán tử hai dấu chấm hỏi) là toán tử mới trong JavaScript. Sau đây, mình sẽ cùng tìm hiểu xem toán tử…","timeToRead":6,"frontmatter":{"title":"Toán tử Nullish Coalescing (??) trong JavaScript","shortTitle":"Toán tử Nullish Coalescing (??) trong JS","tags":["Toán tử"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/1b7c5db7d4014eec10745a08677508e2/bc51f/toan-tu-nullish-coalescing-trong-javascript.png","srcSet":"/static/1b7c5db7d4014eec10745a08677508e2/41200/toan-tu-nullish-coalescing-trong-javascript.png 165w,\n/static/1b7c5db7d4014eec10745a08677508e2/f979a/toan-tu-nullish-coalescing-trong-javascript.png 330w,\n/static/1b7c5db7d4014eec10745a08677508e2/bc51f/toan-tu-nullish-coalescing-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/1b7c5db7d4014eec10745a08677508e2/322ad/toan-tu-nullish-coalescing-trong-javascript.webp 165w,\n/static/1b7c5db7d4014eec10745a08677508e2/de3b3/toan-tu-nullish-coalescing-trong-javascript.webp 330w,\n/static/1b7c5db7d4014eec10745a08677508e2/2b2b5/toan-tu-nullish-coalescing-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-06T21:00:00Z","update":"2021-11-18T21:30:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/cau-lenh-switch-case-trong-javascript/","date":"2017-05-07T04:00:00.000Z"},"excerpt":"Trong bài viết về cấu trúc rẽ nhánh trong JavaScript, mình đã tìm hiểu về câu lệnh if và toán tử ?. Ngoài ra, mình cũng có thể sử dụng lệnh…","timeToRead":6,"frontmatter":{"title":"Câu lệnh Switch Case trong JavaScript","shortTitle":"Switch - Case trong JavaScript","tags":["Cấu trúc rẽ nhánh"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/44bdcd8fe059f9e1f46aefb24bed9989/bc51f/cau-lenh-switch-case-trong-javascript.png","srcSet":"/static/44bdcd8fe059f9e1f46aefb24bed9989/41200/cau-lenh-switch-case-trong-javascript.png 165w,\n/static/44bdcd8fe059f9e1f46aefb24bed9989/f979a/cau-lenh-switch-case-trong-javascript.png 330w,\n/static/44bdcd8fe059f9e1f46aefb24bed9989/bc51f/cau-lenh-switch-case-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/44bdcd8fe059f9e1f46aefb24bed9989/322ad/cau-lenh-switch-case-trong-javascript.webp 165w,\n/static/44bdcd8fe059f9e1f46aefb24bed9989/de3b3/cau-lenh-switch-case-trong-javascript.webp 330w,\n/static/44bdcd8fe059f9e1f46aefb24bed9989/2b2b5/cau-lenh-switch-case-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-07T04:00:00Z","update":"2021-11-19T20:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/vong-lap-trong-javascript/","date":"2017-05-07T04:50:00.000Z"},"excerpt":"Đôi khi bạn cần phải lặp lại một hành động với số lần cho trước. Thay vì phải viết lại code giống nhau cho mỗi lượt lặp, JavaScript cung cấp…","timeToRead":12,"frontmatter":{"title":"Vòng lặp trong JavaScript","shortTitle":null,"tags":null,"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/db81fbbb35ef261177272db556003b0f/bc51f/vong-lap-trong-javascript.png","srcSet":"/static/db81fbbb35ef261177272db556003b0f/41200/vong-lap-trong-javascript.png 165w,\n/static/db81fbbb35ef261177272db556003b0f/f979a/vong-lap-trong-javascript.png 330w,\n/static/db81fbbb35ef261177272db556003b0f/bc51f/vong-lap-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/db81fbbb35ef261177272db556003b0f/322ad/vong-lap-trong-javascript.webp 165w,\n/static/db81fbbb35ef261177272db556003b0f/de3b3/vong-lap-trong-javascript.webp 330w,\n/static/db81fbbb35ef261177272db556003b0f/2b2b5/vong-lap-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-07T04:50:00Z","update":"2021-11-20T21:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/ham-la-gi-ham-trong-javascript/","date":"2017-05-08T09:00:00.000Z"},"excerpt":"Function JavaScript (hàm trong JavaScript) là một thành phần không thể thiếu trong cấu trúc chương trình. Hàm giúp chương trình trở nên rõ…","timeToRead":14,"frontmatter":{"title":"Hàm là gì? Hàm trong JavaScript","shortTitle":null,"tags":["Hàm"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/39d3b13ee1252062227b803c4117a101/bc51f/ham-la-gi-ham-trong-javascript.png","srcSet":"/static/39d3b13ee1252062227b803c4117a101/41200/ham-la-gi-ham-trong-javascript.png 165w,\n/static/39d3b13ee1252062227b803c4117a101/f979a/ham-la-gi-ham-trong-javascript.png 330w,\n/static/39d3b13ee1252062227b803c4117a101/bc51f/ham-la-gi-ham-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/39d3b13ee1252062227b803c4117a101/322ad/ham-la-gi-ham-trong-javascript.webp 165w,\n/static/39d3b13ee1252062227b803c4117a101/de3b3/ham-la-gi-ham-trong-javascript.webp 330w,\n/static/39d3b13ee1252062227b803c4117a101/2b2b5/ham-la-gi-ham-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-08T09:00:00Z","update":"2021-11-21T09:00:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/function-expression-trong-javascript/","date":"2017-05-09T09:00:00.000Z"},"excerpt":"Trong bài viết trước, mình đã tìm hiểu về hàm trong JavaScript. Cách khai báo hàm đó gọi là \"function declaration\". Bài viết này mình sẽ tìm…","timeToRead":7,"frontmatter":{"title":"Function expression trong JavaScript","shortTitle":null,"tags":["Hàm"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/209d5fccc58f470c449f375a358e2714/bc51f/function-expression-trong-javascript.png","srcSet":"/static/209d5fccc58f470c449f375a358e2714/41200/function-expression-trong-javascript.png 165w,\n/static/209d5fccc58f470c449f375a358e2714/f979a/function-expression-trong-javascript.png 330w,\n/static/209d5fccc58f470c449f375a358e2714/bc51f/function-expression-trong-javascript.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/209d5fccc58f470c449f375a358e2714/322ad/function-expression-trong-javascript.webp 165w,\n/static/209d5fccc58f470c449f375a358e2714/de3b3/function-expression-trong-javascript.webp 330w,\n/static/209d5fccc58f470c449f375a358e2714/2b2b5/function-expression-trong-javascript.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-09T09:00:00Z","update":"2021-11-21T14:30:00Z","series":"JavaScript: JavaScript cơ bản"}}},{"node":{"fields":{"slug":"/arrow-function-la-gi-arrow-function-trong-js/","date":"2017-05-10T09:00:00.000Z"},"excerpt":"Ngoài function declaration và function expression, JavaScript còn có arrow function. Trong bài viết này, mình sẽ trình bày về arrow function…","timeToRead":4,"frontmatter":{"title":"Arrow function là gì? Arrow function trong JavaScript","shortTitle":"Arrow function là gì?","tags":["Hàm","ES6"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#283838","images":{"fallback":{"src":"/static/cf01248b774dedd8763acfe7e6d63f77/bc51f/arrow-function-la-gi-arrow-function-trong-js.png","srcSet":"/static/cf01248b774dedd8763acfe7e6d63f77/41200/arrow-function-la-gi-arrow-function-trong-js.png 165w,\n/static/cf01248b774dedd8763acfe7e6d63f77/f979a/arrow-function-la-gi-arrow-function-trong-js.png 330w,\n/static/cf01248b774dedd8763acfe7e6d63f77/bc51f/arrow-function-la-gi-arrow-function-trong-js.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/cf01248b774dedd8763acfe7e6d63f77/322ad/arrow-function-la-gi-arrow-function-trong-js.webp 165w,\n/static/cf01248b774dedd8763acfe7e6d63f77/de3b3/arrow-function-la-gi-arrow-function-trong-js.webp 330w,\n/static/cf01248b774dedd8763acfe7e6d63f77/2b2b5/arrow-function-la-gi-arrow-function-trong-js.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2017-05-10T09:00:00Z","update":"2021-11-21T16:30:00Z","series":"JavaScript: JavaScript cơ bản"}}}]}},"pageContext":{"slug":"/cau-lenh-trong-javascript/","series":"JavaScript: JavaScript cơ bản","nextTitle":"Chương trình JavaScript đầu tiên","nextSlug":"/chuong-trinh-javascript-dau-tien/","prevTitle":"Use strict trong JS","prevSlug":"/use-strict-trong-js/","latestEdges":[{"node":{"fields":{"slug":"/cach-chon-cms-cho-trang-web/"},"frontmatter":{"directory":"Bài viết được tài trợ","template":"post","title":"Làm thế nào để chọn CMS phù hợp cho trang web của bạn?","shortTitle":"Cách chọn CMS cho trang web","tags":["Wordpress","CMS"],"date":"2022-06-27T20:30:00Z","update":"2022-06-27T20:30:00Z"}}},{"node":{"fields":{"slug":"/async-await-la-gi-async-await-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Async/await là gì? Async/await trong JavaScript","shortTitle":"Async/await là gì? Async/await trong JS","tags":["Async - Await","Promise"],"date":"2017-07-16T06:00:00Z","update":"2022-05-11T21:45:00Z"}}},{"node":{"fields":{"slug":"/microtasks-la-gi-microtasks-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Microtasks là gì? Microtasks trong JavaScript","shortTitle":"Microtasks là gì? Microtasks trong JS","tags":["Callback","Promise"],"date":"2017-07-15T06:00:00Z","update":"2022-05-11T21:00:00Z"}}},{"node":{"fields":{"slug":"/chuyen-callback-thanh-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Chuyển callback thành promise trong JavaScript","shortTitle":"Chuyển callback thành promise trong JS","tags":["Callback","Promise"],"date":"2017-07-14T06:00:00Z","update":"2022-05-11T20:00:00Z"}}},{"node":{"fields":{"slug":"/promise-api-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Các promise API trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-13T06:00:00Z","update":"2022-05-08T21:00:00Z"}}},{"node":{"fields":{"slug":"/xu-ly-loi-voi-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Xử lý lỗi với promise trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-12T06:00:26Z","update":"2022-05-08T20:00:00Z"}}},{"node":{"fields":{"slug":"/chuoi-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Chuỗi promise trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-10T16:24:00Z","update":"2022-05-08T16:24:00Z"}}},{"node":{"fields":{"slug":"/promise-la-gi-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Promise là gì? Promise trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-09T13:45:00Z","update":"2022-05-08T13:45:48Z"}}},{"node":{"fields":{"slug":"/callback-la-gi-callback-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Callback là gì? Callback trong JavaScript","shortTitle":null,"tags":["Callback","Hàm"],"date":"2017-07-08T10:40:00Z","update":"2022-05-08T10:40:48Z"}}},{"node":{"fields":{"slug":"/tuy-bien-mo-rong-doi-tuong-error/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Tùy biến và mở rộng đối tượng Error trong JavaScript","shortTitle":"Tùy biến và mở rộng đối tượng Error trong JS","tags":["Error"],"date":"2017-07-06T08:00:00Z","update":"2022-05-08T08:24:00Z"}}}],"latestEdgesTitle":"Bài viết mới cập nhật"}},
    "staticQueryHashes": []}