{"id":1366,"date":"2019-09-23T12:37:22","date_gmt":"2019-09-23T09:37:22","guid":{"rendered":"https:\/\/flatlogic.com\/blog\/?p=1366"},"modified":"2024-01-12T17:14:55","modified_gmt":"2024-01-12T14:14:55","slug":"17-articles-of-september-2019-to-learn-javascript","status":"publish","type":"post","link":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/","title":{"rendered":"17+ Articles of September 2019 to Learn JavaScript"},"content":{"rendered":"\n<p>Here is our list of JS articles of 2019. We collected 17 posts with tricks and tips in JavaScript and its frameworks. If you want to contribute to this list you can always leave your comment on <a href=\"https:\/\/twitter.com\/flatlogic\" rel=\"nofollow\">Twitter<\/a> or <a href=\"https:\/\/www.facebook.com\/flatlogic\/notifications\/\" rel=\"nofollow\">Facebook<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/gist.github.com\/sebmarkbage\/a5ef436427437a98408672108df01919\" rel=\"nofollow\"><strong>Why is React doing this?<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"900\" height=\"600\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/2314.jpg\" alt=\"Learn JavaScript\" class=\"wp-image-1367 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/2314.jpg 900w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/2314-600x400.jpg 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/2314-768x512.jpg 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 900px; --smush-placeholder-aspect-ratio: 900\/600;\" data-original-sizes=\"(max-width: 900px) 100vw, 900px\" \/><figcaption>Image source: https:\/\/gist.github.com\/sebmarkbage\/a5ef436427437a98408672108df01919<\/figcaption><\/figure>\n\n\n\n<p>Author decided to write a response to criticism towards the way React deals with reactivity.<\/p>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/sebmarkbage\/a5ef436427437a98408672108df01919\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/leewarrick.com\/blog\/react-use-effect-explained\/\" rel=\"nofollow\"><strong>React&#8217;s useEffect and useRef Explained for Mortals<\/strong><\/a><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"543\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/staleclosures-1024x543.png\" alt=\"Learn JavaScript\" class=\"wp-image-1368 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/staleclosures-1024x543.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/staleclosures-600x318.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/staleclosures-768x407.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/staleclosures.png 1180w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/543;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/leewarrick.com\/blog\/react-use-effect-explained\/<\/figcaption><\/figure>\n\n\n\n<p>This article helps you dive deep into useEffect and not to get lost in the waters. Simple language and lots of examples make this post very helpful. <\/p>\n\n\n\n<p><a href=\"https:\/\/leewarrick.com\/blog\/react-use-effect-explained\/\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/flatlogic.com\/blog\/20-react-developer-tools-to-increase-your-programming-productivity\/\"><strong>20+ React Developer Tools to Increase Your Programming Productivity<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"768\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/osnovnoi-tretii-variant-1-1024x768.png\" alt=\"Learn JavaScript\" class=\"wp-image-1369 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/osnovnoi-tretii-variant-1-1024x768.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/osnovnoi-tretii-variant-1-600x450.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/osnovnoi-tretii-variant-1-768x576.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/osnovnoi-tretii-variant-1.png 1600w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/768;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This post from our blog ended up extremely popular this month. Some of our readers are familiar with it. This is an opinionated list of React developer tools.<\/p>\n\n\n\n<p><a href=\"https:\/\/flatlogic.com\/blog\/20-react-developer-tools-to-increase-your-programming-productivity\/\">Read the article<\/a>\n <a href=\"https:\/\/flatlogic.com\/generator\"><img decoding=\"async\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding.png\" alt=\"Professional Vibe Coding\" class=\"banner-img lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/640;\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding.png 2560w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-600x150.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-1024x256.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-768x192.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-1536x384.png 1536w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-2048x512.png 2048w\" data-sizes=\"auto\" data-original-sizes=\"(max-width: 2560px) 100vw, 2560px\"> <\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/leewarrick.com\/blog\/a-guide-to-usestate-and-usereducer\/\" rel=\"nofollow\"><strong>Bridging the Gap between React&#8217;s useState, useReducer, and Redux<\/strong><\/a><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/mindthegap-1024x683.jpg\" alt=\"Learn JavaScript\" class=\"wp-image-1370 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/mindthegap-1024x683.jpg 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/mindthegap-600x400.jpg 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/mindthegap-768x512.jpg 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/mindthegap.jpg 1180w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/683;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/leewarrick.com\/blog\/a-guide-to-usestate-and-usereducer\/<\/figcaption><\/figure>\n\n\n\n<p>A very fascinating article from the author that considers Redux a &#8220;personal Everest&#8221;. <\/p>\n\n\n\n<p><a href=\"https:\/\/leewarrick.com\/blog\/a-guide-to-usestate-and-usereducer\/\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/blog.bitsrc.io\/csv-excel-to-json-in-javascript-70e61a1dc32d\" rel=\"nofollow\"><strong>CSV &amp; Excel to JSON in JavaScript<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"310\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1rtzsiXiyUy0obp39XAYjJQ-1024x310.png\" alt=\"Learn JavaScript\" class=\"wp-image-1371 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1rtzsiXiyUy0obp39XAYjJQ-1024x310.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1rtzsiXiyUy0obp39XAYjJQ-600x182.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1rtzsiXiyUy0obp39XAYjJQ-768x233.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1rtzsiXiyUy0obp39XAYjJQ.png 1668w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/310;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/blog.bitsrc.io\/csv-excel-to-json-in-javascript-70e61a1dc32d<\/figcaption><\/figure>\n\n\n\n<p>This is a quick tutorial on parsing data using jQuery-CSV and SheetJS.<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.bitsrc.io\/csv-excel-to-json-in-javascript-70e61a1dc32d\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/levelup.gitconnected.com\/moving-beyond-console-log-8-console-methods-you-should-use-when-debugging-javascript-and-node-25f6ac840ada\" rel=\"nofollow\"><strong>Moving beyond console.log() &#8211; 8 Console Methods You Should Use When Debugging JavaScript and Node<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"564\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/10d5jlHyPf6IIrSnodPb3mA-1024x564.png\" alt=\"Learn JavaScript\" class=\"wp-image-1372 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/10d5jlHyPf6IIrSnodPb3mA-1024x564.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/10d5jlHyPf6IIrSnodPb3mA-600x331.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/10d5jlHyPf6IIrSnodPb3mA-768x423.png 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/564;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This article will help you to learn console functions that you didn&#8217;t use for debugging before. <\/p>\n\n\n\n<p><a href=\"https:\/\/levelup.gitconnected.com\/moving-beyond-console-log-8-console-methods-you-should-use-when-debugging-javascript-and-node-25f6ac840ada\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.telerik.com\/blogs\/how-to-target-the-dom-in-vue\" rel=\"nofollow\"><strong>How to Target the DOM in Vue<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"870\" height=\"220\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/vuet-light_870x220.png\" alt=\"Learn JavaScript\" class=\"wp-image-1373 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/vuet-light_870x220.png 870w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/vuet-light_870x220-600x152.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/vuet-light_870x220-768x194.png 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 870px; --smush-placeholder-aspect-ratio: 870\/220;\" data-original-sizes=\"(max-width: 870px) 100vw, 870px\" \/><figcaption>Image source: https:\/\/www.telerik.com\/blogs\/how-to-target-the-dom-in-vue<\/figcaption><\/figure>\n\n\n\n<p>Using one good example from this article you can learn to manipulate an element in your DOM.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.telerik.com\/blogs\/how-to-target-the-dom-in-vue\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.freecodecamp.org\/news\/optimize-your-javascript-app-by-using-service-workers\/\" rel=\"nofollow\"><strong>How to optimize your JavaScript app by using service&nbsp;workers<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"684\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/photo-1543946602-a0fce8117697-1024x684.jpeg\" alt=\"Learn JavaScript\" class=\"wp-image-1374 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/photo-1543946602-a0fce8117697-1024x684.jpeg 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/photo-1543946602-a0fce8117697-600x401.jpeg 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/photo-1543946602-a0fce8117697-768x513.jpeg 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/photo-1543946602-a0fce8117697.jpeg 1080w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/684;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/www.freecodecamp.org\/news\/optimize-your-javascript-app-by-using-service-workers\/<\/figcaption><\/figure>\n\n\n\n<p>This article will help you to to make your apps faster and save memory with the use of service workers.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.freecodecamp.org\/news\/optimize-your-javascript-app-by-using-service-workers\/\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/itnext.io\/a-guide-to-component-driven-development-cdd-1516f65d8b55\" rel=\"nofollow\"><strong>A Guide to Component Driven Development (CDD)<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"844\" height=\"549\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/0GbBTYnqrsJnqP8Yx.png\" alt=\"Learn JavaScript\" class=\"wp-image-1375 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/0GbBTYnqrsJnqP8Yx.png 844w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/0GbBTYnqrsJnqP8Yx-600x390.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/0GbBTYnqrsJnqP8Yx-768x500.png 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 844px; --smush-placeholder-aspect-ratio: 844\/549;\" data-original-sizes=\"(max-width: 844px) 100vw, 844px\" \/><figcaption>Image source: https:\/\/itnext.io\/a-guide-to-component-driven-development-cdd-1516f65d8b55<\/figcaption><\/figure>\n\n\n\n<p>A quick guide to the Component Driven Development approach and how to benefit from it. <\/p>\n\n\n\n<p><a href=\"https:\/\/blog.bitsrc.io\/a-guide-to-component-driven-development-cdd-69dbd3d07bf0\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/levelup.gitconnected.com\/aws-lambda-cold-start-language-comparisons-2019-edition-%EF%B8%8F-1946d32a0244\" rel=\"nofollow\"><strong>AWS Lambda Cold Start Language Comparisons, 2019 edition<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"682\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1pjDVbHTE6WyNTGuRqBtlTA-1024x682.png\" alt=\"Learn JavaScript\" class=\"wp-image-1376 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1pjDVbHTE6WyNTGuRqBtlTA-1024x682.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1pjDVbHTE6WyNTGuRqBtlTA-600x400.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1pjDVbHTE6WyNTGuRqBtlTA-768x512.png 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/682;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The author wants to compare the cold start time of competing languages on the AWS platform.&nbsp;You can see from this article a significant improvements in the AWS.<\/p>\n\n\n\n<p><a href=\"https:\/\/levelup.gitconnected.com\/aws-lambda-cold-start-language-comparisons-2019-edition-%EF%B8%8F-1946d32a0244\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/dev.to\/lampewebdev\/css-quickies-css-variables-or-how-you-create-a-white-dark-theme-easily-1i0i\" rel=\"nofollow\"><strong>CSS Quickies: CSS Variables &#8211; Or how you create a white\/dark theme easily<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"429\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.47.22-AM-1024x429.png\" alt=\"Learn JavaScript\" class=\"wp-image-1377 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.47.22-AM-1024x429.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.47.22-AM-600x251.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.47.22-AM-768x322.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.47.22-AM.png 1758w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/429;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/dev.to\/lampewebdev\/css-quickies-css-variables-or-how-you-create-a-white-dark-theme-easily-1i0i<\/figcaption><\/figure>\n\n\n\n<p>A quick guide to some tricks with CSS Variables.<\/p>\n\n\n\n<p><a href=\"https:\/\/dev.to\/lampewebdev\/css-quickies-css-variables-or-how-you-create-a-white-dark-theme-easily-1i0i\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/codeburst.io\/angular-dependency-injection-tips-ddb24b8244be\" rel=\"nofollow\"><strong>Angular Dependency Injection Tips<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"705\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1zTVu5Y6qCxzBx2O1jN_hCA-1024x705.png\" alt=\"Learn JavaScript\" class=\"wp-image-1378 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1zTVu5Y6qCxzBx2O1jN_hCA-1024x705.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1zTVu5Y6qCxzBx2O1jN_hCA-600x413.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1zTVu5Y6qCxzBx2O1jN_hCA-768x529.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/1zTVu5Y6qCxzBx2O1jN_hCA.png 1250w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/705;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/codeburst.io\/angular-dependency-injection-tips-ddb24b8244be<\/figcaption><\/figure>\n\n\n\n<p>This article is about one of the most important concepts that Angular incorporates Dependency Injection.<\/p>\n\n\n\n<p><a href=\"https:\/\/codeburst.io\/angular-dependency-injection-tips-ddb24b8244be\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/fettblog.eu\/void-in-javascript-and-typescript\/\" rel=\"nofollow\"><strong>void in JavaScript and TypeScript<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"570\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.53.51-AM-1024x570.png\" alt=\"Learn JavaScript\" class=\"wp-image-1379 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.53.51-AM-1024x570.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.53.51-AM-600x334.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.53.51-AM-768x428.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.53.51-AM.png 1340w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/570;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/fettblog.eu\/void-in-javascript-and-typescript\/<\/figcaption><\/figure>\n\n\n\n<p><code>void<\/code>&nbsp;in JavaScript and in TypeScript&nbsp;works a little bit different than some of you are used to. This article will help you work things out.<\/p>\n\n\n\n<p><a href=\"https:\/\/fettblog.eu\/void-in-javascript-and-typescript\/\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/fettblog.eu\/boolean-in-javascript-and-typescript\/\" rel=\"nofollow\"><strong>Boolean in JavaScript and TypeScript<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"988\" height=\"870\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.57.45-AM.png\" alt=\"Learn JavaScript\" class=\"wp-image-1380 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.57.45-AM.png 988w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.57.45-AM-600x528.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-1.57.45-AM-768x676.png 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 988px; --smush-placeholder-aspect-ratio: 988\/870;\" data-original-sizes=\"(max-width: 988px) 100vw, 988px\" \/><figcaption>Image source: https:\/\/fettblog.eu\/boolean-in-javascript-and-typescript\/<\/figcaption><\/figure>\n\n\n\n<p>Another great article from Stefan Baumgartner. This time he is writing about Boolean.<\/p>\n\n\n\n<p><a href=\"https:\/\/fettblog.eu\/boolean-in-javascript-and-typescript\/\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/dev.to\/laurieontech\/human-readable-javascript-337o\" rel=\"nofollow\"><strong>Human Readable JavaScript<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"437\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.00.32-AM-1024x437.png\" alt=\"Learn JavaScript\" class=\"wp-image-1381 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.00.32-AM-1024x437.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.00.32-AM-600x256.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.00.32-AM-768x328.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.00.32-AM.png 1634w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/437;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/dev.to\/laurieontech\/human-readable-javascript-337o<\/figcaption><\/figure>\n\n\n\n<p>The same code can be written in many different ways. But the job of a developer to make one&#8217;s code readable for humans first of all. <\/p>\n\n\n\n<p><a href=\"https:\/\/dev.to\/laurieontech\/human-readable-javascript-337o\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/dev.to\/lampewebdev\/the-most-outstanding-new-feature-in-javascript-you-need-to-know-about-optional-chaining-2pg2\" rel=\"nofollow\"><strong>The most outstanding new feature in Javascript you need to know about: Optional Chaining<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"598\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.06.17-AM-1024x598.png\" alt=\"Learn JavaScript\" class=\"wp-image-1382 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.06.17-AM-1024x598.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.06.17-AM-600x351.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.06.17-AM-768x449.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.06.17-AM.png 1338w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/598;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/dev.to\/lampewebdev\/the-most-outstanding-new-feature-in-javascript-you-need-to-know-about-optional-chaining-2pg2<\/figcaption><\/figure>\n\n\n\n<p>This post can teach you what problems Optional chaining can solve and how exactly it works. <\/p>\n\n\n\n<p><a href=\"https:\/\/dev.to\/lampewebdev\/the-most-outstanding-new-feature-in-javascript-you-need-to-know-about-optional-chaining-2pg2\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/dev.to\/kevtiq\/how-to-create-a-scalable-and-maintainable-front-end-architecture-4f47\" rel=\"nofollow\"><strong>How to create a scalable and maintainable front-end architecture<\/strong><\/a><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"436\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.14.37-AM-1024x436.png\" alt=\"Learn JavaScript\" class=\"wp-image-1383 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.14.37-AM-1024x436.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.14.37-AM-600x255.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.14.37-AM-768x327.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-23-at-2.14.37-AM.png 1752w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/436;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Image source: https:\/\/dev.to\/kevtiq\/how-to-create-a-scalable-and-maintainable-front-end-architecture-4f47<\/figcaption><\/figure>\n\n\n\n<p>Nowadays web apps are expected to do more and more of the heavy lifting. That is why the&nbsp;architecture was becoming increasingly&nbsp;pressing.<\/p>\n\n\n\n<p><a href=\"https:\/\/dev.to\/kevtiq\/how-to-create-a-scalable-and-maintainable-front-end-architecture-4f47\" rel=\"nofollow\">Read the article<\/a><\/p>\n\n\n\n<p><strong>If you liked this post you may also want to read:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-columns has-2-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"><a href=\"https:\/\/flatlogic.com\/blog\/19-online-tools-for-creating-charts\/\">19 Online Tools for Creating Charts<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"><a href=\"https:\/\/flatlogic.com\/blog\/top-angular-open-source-projects\/\">Top Angular Open Source Projects<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns has-2-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"><a href=\"https:\/\/flatlogic.com\/blog\/top-javascript-calendar-plugins\/\">Top JavaScript Calendar Plugins<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"><a href=\"https:\/\/flatlogic.com\/blog\/writing-documentation-for-your-javascript-project\/\">Writing Documentation for Your JavaScript Project<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Here is our list of JS articles of 2019. We collected 17 posts with tricks and tips in JavaScript and its frameworks.<\/p>\n","protected":false},"author":3,"featured_media":1420,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"flatlogic_tldr":"","flatlogic_facts":[],"footnotes":""},"categories":[1],"tags":[52,54,35,47],"class_list":["post-1366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-guides","tag-javascript","tag-reactjs","tag-reviews"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>17+ Articles of September 2019 to Learn JavaScript - Flatlogic Blog<\/title>\n<meta name=\"description\" content=\"This September we offer you to upgrade your JS skills. To learn JavaScript means to handle thousands of details, tips, and tricks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"17+ Articles of September 2019 to Learn JavaScript\" \/>\n<meta property=\"og:description\" content=\"This September we offer you to upgrade your JS skills. To learn JavaScript means to handle thousands of details, tips, and tricks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Flatlogic Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/flatlogic\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-23T09:37:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-12T14:14:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nastassia Ovchinnikova\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@flatlogic\" \/>\n<meta name=\"twitter:site\" content=\"@flatlogic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nastassia Ovchinnikova\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"17+ Articles of September 2019 to Learn JavaScript - Flatlogic Blog","description":"This September we offer you to upgrade your JS skills. To learn JavaScript means to handle thousands of details, tips, and tricks.","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:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/","og_locale":"en_US","og_type":"article","og_title":"17+ Articles of September 2019 to Learn JavaScript","og_description":"This September we offer you to upgrade your JS skills. To learn JavaScript means to handle thousands of details, tips, and tricks.","og_url":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/","og_site_name":"Flatlogic Blog","article_publisher":"https:\/\/www.facebook.com\/flatlogic","article_published_time":"2019-09-23T09:37:22+00:00","article_modified_time":"2024-01-12T14:14:55+00:00","og_image":[{"width":1600,"height":1200,"url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy.png","type":"image\/png"}],"author":"Nastassia Ovchinnikova","twitter_card":"summary_large_image","twitter_creator":"@flatlogic","twitter_site":"@flatlogic","twitter_misc":{"Written by":"Nastassia Ovchinnikova","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#article","isPartOf":{"@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/"},"author":{"name":"Nastassia Ovchinnikova","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/person\/bed36c984b2f920a7fc450877f425eed"},"headline":"17+ Articles of September 2019 to Learn JavaScript","datePublished":"2019-09-23T09:37:22+00:00","dateModified":"2024-01-12T14:14:55+00:00","mainEntityOfPage":{"@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/"},"wordCount":699,"publisher":{"@id":"https:\/\/flatlogic.com\/blog\/#organization"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy.png","keywords":["Guides","Javascript","React","Reviews"],"articleSection":["News"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/","url":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/","name":"17+ Articles of September 2019 to Learn JavaScript - Flatlogic Blog","isPartOf":{"@id":"https:\/\/flatlogic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#primaryimage"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy.png","datePublished":"2019-09-23T09:37:22+00:00","dateModified":"2024-01-12T14:14:55+00:00","description":"This September we offer you to upgrade your JS skills. To learn JavaScript means to handle thousands of details, tips, and tricks.","breadcrumb":{"@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#primaryimage","url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy.png","contentUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/09\/top-articles-copy.png","width":1600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/flatlogic.com\/blog\/17-articles-of-september-2019-to-learn-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/flatlogic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"17+ Articles of September 2019 to Learn JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/flatlogic.com\/blog\/#website","url":"https:\/\/flatlogic.com\/blog\/","name":"Flatlogic Blog","description":"Vibe-coding, AI Agents, Professional Software Development Services, Case Studies and More","publisher":{"@id":"https:\/\/flatlogic.com\/blog\/#organization"},"alternateName":"Flatlogic Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/flatlogic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/flatlogic.com\/blog\/#organization","name":"Flatlogic","url":"https:\/\/flatlogic.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/62ea6de0b3469aa3d6ebb528-1.png","contentUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/62ea6de0b3469aa3d6ebb528-1.png","width":970,"height":257,"caption":"Flatlogic"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/flatlogic","https:\/\/x.com\/flatlogic","https:\/\/www.instagram.com\/flatlogiccom\/","https:\/\/www.linkedin.com\/company\/flatlogic\/"]},{"@type":"Person","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/person\/bed36c984b2f920a7fc450877f425eed","name":"Nastassia Ovchinnikova","url":"https:\/\/flatlogic.com\/blog\/author\/nastassia\/"}]}},"_links":{"self":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/1366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/comments?post=1366"}],"version-history":[{"count":2,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/1366\/revisions"}],"predecessor-version":[{"id":7154,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/1366\/revisions\/7154"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/media\/1420"}],"wp:attachment":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/media?parent=1366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/categories?post=1366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/tags?post=1366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}