{"id":772,"date":"2019-08-29T17:39:26","date_gmt":"2019-08-29T17:39:26","guid":{"rendered":"http:\/\/www.projectimmerse.com\/blog\/?p=772"},"modified":"2020-06-15T10:53:09","modified_gmt":"2020-06-15T10:53:09","slug":"top-10-javascript-interview-questions","status":"publish","type":"post","link":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/","title":{"rendered":"Top 10 Javascript Interview Questions"},"content":{"rendered":"\r\n<p>This is my very first post on anything interview related. I figure it would be helpful to cover common Javascript questions during an interview. As mentioned in a previous posts, Javascript is totally different beast. From my experience, my interviews have been pretty tame. They were mainly OOP related questions but this was before ES6, before Javascript classes and constructors were introduced. I remember having to write literal objects on a white board and explaining this object&#8217;s properties and methods.<\/p>\r\n\r\n<!--more-->\r\n\r\n<p>Javascript has evolved since then as well as my understanding of of Javascript and its weird parts. This is a continuation on a series I&#8217;m covering based on this youtube channel &#8211; <a href=\"https:\/\/www.youtube.com\/watch?v=oxoFVqetl1E&#038;list=PL7pEw9n3GkoW5bYOhVAtmJlak3ZK7SaDf&#038;index=3\" title=\"Top 10 JavaScript Interview Questions\">Top 10 JavaScript Interview Questions<\/a>, so again &#8211; all credit to TechSith for creating this video.<\/p>\r\n\r\n<p>Alright, time to immerse ourselves into some Javascript questions. Keep in mind that with a Javascript interview &#8211; you may get a wide range of questions from DOM, jQuery, Browsers, Javascript concepts related to closures, scope, scope chain, lexical scope and prototypal inheritance to name a few.<\/p>\r\n\r\n<h2>Question: 1. What is the difference between keyword &#8220;let&#8221; and &#8220;var&#8221;?<\/h2>\r\n\r\n<p>\r\n* &#8220;let&#8221; was introduced in ES6.<br>\r\n* &#8220;var&#8221; was introduced from the beginning<br>\r\n* &#8220;let&#8221; has block scope &#8211; will die (garbage collected) after a block<br>\r\n* &#8220;var&#8221; has function scope &#8211; will die (garbage collected) after a function<br>\r\n* &#8220;var&#8221; gets hoisted at the top of it&#8217;s function.<br>\r\n* &#8220;let&#8221; does not get hoisted\r\n<\/p>\r\n\r\n<h3>&#8220;let&#8221; vs &#8220;var&#8221; example<\/h3>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nlet x = function() {\r\n  \r\n  if (true) {\r\n\r\n    var v = 2;\r\n    let l = 1;\r\n\r\n  }\r\n\r\n  console.log(v); \/\/ Output: 2\r\n  console.log(l); \/\/ will result in ReferenceError: l is not defined\r\n\r\n}\r\n\r\nx();\r\n\r\n<\/pre>\r\n\r\n<p>Let&#8217;s move the code around a bit. Let&#8217;s pretend our interviewer wanted us to move to code around a bit, by moving our logs up at the very top of function before our variables are declared.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nlet x = function() {\r\n  \r\n  if (true) {\r\n\r\n    console.log(v); \/\/ Output: undefined\r\n    console.log(l); \/\/ ReferenceError: l is not defined\r\n\r\n    var v = 2;\r\n    let l = 1;\r\n\r\n  }\r\n}\r\n\r\nx();\r\n\r\n<\/pre>\r\n\r\n<p>So why is &#8220;v&#8221; outputting &#8220;undefined&#8221; and why is &#8220;l&#8221; resulting in a ReferenceError? Well if you recall any variables declared with the &#8220;var&#8221; keyword gets hoisted within a function block, in this case our function x(). &#8220;let&#8221; on the other hand doesn&#8217;t get hoisted, therefore the variable defined with &#8220;let&#8221; is only available after it is assigned a value.<\/p>\r\n\r\n<h2>Question 2: What is the difference between &#8220;double equal sign&#8221; and &#8220;triple equal sign&#8221;?<\/h2>\r\n\r\n<p>This is one of the easier questions &#8211; I personally never had a problem with this one. But if you are then a good rule of thumb to remember is that a &#8220;double equal sign&#8221; and &#8220;triple equal sign&#8221; are comparison operators. That&#8217;s a good place to start. Second, &#8220;double equal sign&#8221; only compares the value. Whereas a &#8220;triple equal sign&#8221; compares not only a variables value but also its data type.<\/p>\r\n\r\n<p>&#8220;double equal sign&#8221; example.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nif ('1' == 1) {\r\n  \r\n        console.log('equal');\r\n\r\n} else {\r\n\r\n\r\n        console.log('not equal');\r\n\r\n}\r\n\r\n\/\/ this will Output: equal\r\n\r\n<\/pre>\r\n\r\n<p>So when the if statement above is run, we get &#8220;equal&#8221;. This is because a &#8220;double equal&#8221; operator only compares value but not type.<\/p>\r\n\r\n<p>Let&#8217;s consider a &#8220;triple equals&#8221; example now, where both value AND type are being compared.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nif ('1' === 1) {\r\n  \r\n        console.log('equal');\r\n\r\n} else {\r\n\r\n\r\n        console.log('not equal');\r\n\r\n}\r\n\r\n\/\/ this will Output: not equal\r\n\r\n<\/pre>\r\n\r\n<h2>3. Question: What is the difference between &#8220;let&#8221; and &#8220;const&#8221; keywords?<\/h2>\r\n\r\n<p>\r\n* with &#8220;const&#8221;, after it&#8217;s first assignment to a value, you cannot reassign the value again.\r\n* with &#8220;let&#8221; or &#8220;var&#8221; you can reassign it a value at any time.\r\n<\/p>\r\n\r\n<p>&#8220;const&#8221; vs &#8220;let&#8221; example<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nlet l = 1;\r\nl = 2;\r\nconsole.log(1); \/\/ Will output 2\r\n\r\nconst c = 1;\r\nc = 2;\r\nconsole.log(c); \/\/ Will output &amp;quot;TypeError: Assignment to constant variable.\r\n\r\n<\/pre>\r\n\r\n<p>Let&#8217;s consider another scenario with &#8220;const&#8221;<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nconst c; \r\nc = 1;\r\nconsole.log(c); \/\/ Will output SyntaxError: Missing initializer in const declaration\r\n\r\n<\/pre>\r\n\r\n<p>So with &#8220;const&#8221; we immediately need to assign it a value upon creation. Otherwise we will get a syntax error.<\/p>\r\n\r\n<p>Ok, another example &#8211; but this time let&#8217;s try initializing an array object and not a primitive type.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nconst c = &#x5B;1, 2];\r\nc.push(3);\r\nconsole.log(c); \/\/ Will output: &#x5B; 1, 2, 3 ]\r\n\r\n<\/pre>\r\n\r\n<p>Because it&#8217;s an object, we can modify the object. What we can&#8217;t do though is reassign the c constant to an entirely new data type.<\/p>\r\n\r\n<h2>4. What is the use of &#8220;arrow functions&#8221; &#8220;or fat arrow&#8221; functions?<\/h2>\r\n\r\n<p>First let&#8217;s create an object with a few objects and properties &#8211; a classic example function scope defined inside an object.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nconst profile = {\r\n        firstName: '',\r\n        lastName: '',\r\n        setName: function(name) {\r\n                let splitName = function(n) {\r\n                        let nameArray = n.split(' ');\r\n                        this.firstName = nameArray&#x5B;0];\r\n                        this.lastName = nameArray&#x5B;1];\r\n                }\r\n\r\n                splitName(name);\r\n        }\r\n};\r\n\r\nprofile.setName('john doe');\r\nconsole.log(profile.firstName); \/\/ Will output nothing\r\n \r\n<\/pre>\r\n\r\n<p>Why does it output nothing? The reason is because &#8220;firstName&#8221; is attached to the window object &#8211; so if we make the following modification, our program will output the correct value.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nconst profile = {\r\n        firstName: '',\r\n        lastName: '',\r\n        setName: function(name) {\r\n                let splitName = function(n) {\r\n                        let nameArray = n.split(' ');\r\n                        this.firstName = nameArray&#x5B;0];\r\n                        this.lastName = nameArray&#x5B;1];\r\n                }\r\n\r\n                splitName(name);\r\n        }\r\n};\r\n\r\nprofile.setName('john doe');\r\nconsole.log(window.firstName); \/\/ will output &amp;quot;John&amp;quot;\r\n\r\n<\/pre>\r\n\r\n<p>Well this is great but we can do better. This is where arrow functions come in handy. Instead of referencing the window object, encapsulating our function within an arrow function resolves this issue for us.<\/p>\r\n\r\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nconst profile = {\r\n        firstName: '',\r\n        lastName: '',\r\n        setName: function(name) {\r\n                let splitName = (n) =&amp;gt; {\r\n                        let nameArray = n.split(' ');\r\n                        this.firstName = nameArray&#x5B;0];\r\n                        this.lastName = nameArray&#x5B;1];\r\n                }\r\n\r\n                splitName(name);\r\n        }\r\n};\r\n\r\nprofile.setName('john doe');\r\nconsole.log(profile.firstName); \/\/ will output &amp;quot;John&amp;quot;\r\n\r\n<\/pre>\r\n\r\n<p>Now we don&#8217;t have to use the window object, we can properly use the profile object which makes more sense for our setName method to be lexically scoped within our profile object.<\/p>\r\n\r\n<p>These are some pretty good interview questions to master &#8211; I think you&#8217;re ahead of the game if you can at least answer the questions provided here. There are way more interview questions to consider which I will be covering in future posts. So stay tuned and keep immersing!<\/p>\r\n\r\n\r\n\r\n<p><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>This is my very first post on anything interview related. I figure it would be helpful to cover common Javascript questions during an interview. As mentioned in a previous posts, Javascript is totally different beast. From my experience, my interviews have been pretty tame. They were mainly OOP related questions but this was before ES6, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Top 10 Javascript Interview Questions&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1098,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-772","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Top 10 Javascript Interview Questions - Project Immerse<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Top 10 Javascript Interview Questions - Project Immerse\" \/>\n<meta property=\"og:description\" content=\"This is my very first post on anything interview related. I figure it would be helpful to cover common Javascript questions during an interview. As mentioned in a previous posts, Javascript is totally different beast. From my experience, my interviews have been pretty tame. They were mainly OOP related questions but this was before ES6, &hellip; Continue reading &quot;Top 10 Javascript Interview Questions&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/\" \/>\n<meta property=\"og:site_name\" content=\"Project Immerse\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-29T17:39:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-15T10:53:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/08\/javascript-top-ten-interview-questions-part-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"projectimmerse\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"projectimmerse\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/\"},\"author\":{\"name\":\"projectimmerse\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"headline\":\"Top 10 Javascript Interview Questions\",\"datePublished\":\"2019-08-29T17:39:26+00:00\",\"dateModified\":\"2020-06-15T10:53:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/\"},\"wordCount\":1022,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/javascript-top-ten-interview-questions-part-1.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/\",\"name\":\"Top 10 Javascript Interview Questions - Project Immerse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/javascript-top-ten-interview-questions-part-1.png\",\"datePublished\":\"2019-08-29T17:39:26+00:00\",\"dateModified\":\"2020-06-15T10:53:09+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/javascript-top-ten-interview-questions-part-1.png\",\"contentUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/javascript-top-ten-interview-questions-part-1.png\",\"width\":750,\"height\":750,\"caption\":\"Javascript Top 10 Interview Questions\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/top-10-javascript-interview-questions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Top 10 Javascript Interview Questions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\",\"name\":\"Project Immerse\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\",\"name\":\"projectimmerse\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g\",\"caption\":\"projectimmerse\"},\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/author\\\/projectimmerse\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Top 10 Javascript Interview Questions - Project Immerse","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:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/","og_locale":"en_US","og_type":"article","og_title":"Top 10 Javascript Interview Questions - Project Immerse","og_description":"This is my very first post on anything interview related. I figure it would be helpful to cover common Javascript questions during an interview. As mentioned in a previous posts, Javascript is totally different beast. From my experience, my interviews have been pretty tame. They were mainly OOP related questions but this was before ES6, &hellip; Continue reading \"Top 10 Javascript Interview Questions\"","og_url":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/","og_site_name":"Project Immerse","article_published_time":"2019-08-29T17:39:26+00:00","article_modified_time":"2020-06-15T10:53:09+00:00","og_image":[{"width":750,"height":750,"url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/08\/javascript-top-ten-interview-questions-part-1.png","type":"image\/png"}],"author":"projectimmerse","twitter_card":"summary_large_image","twitter_misc":{"Written by":"projectimmerse","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#article","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/"},"author":{"name":"projectimmerse","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"headline":"Top 10 Javascript Interview Questions","datePublished":"2019-08-29T17:39:26+00:00","dateModified":"2020-06-15T10:53:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/"},"wordCount":1022,"commentCount":0,"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/08\/javascript-top-ten-interview-questions-part-1.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/","url":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/","name":"Top 10 Javascript Interview Questions - Project Immerse","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#primaryimage"},"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/08\/javascript-top-ten-interview-questions-part-1.png","datePublished":"2019-08-29T17:39:26+00:00","dateModified":"2020-06-15T10:53:09+00:00","author":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"breadcrumb":{"@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#primaryimage","url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/08\/javascript-top-ten-interview-questions-part-1.png","contentUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/08\/javascript-top-ten-interview-questions-part-1.png","width":750,"height":750,"caption":"Javascript Top 10 Interview Questions"},{"@type":"BreadcrumbList","@id":"https:\/\/www.projectimmerse.com\/blog\/top-10-javascript-interview-questions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.projectimmerse.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Top 10 Javascript Interview Questions"}]},{"@type":"WebSite","@id":"https:\/\/www.projectimmerse.com\/blog\/#website","url":"https:\/\/www.projectimmerse.com\/blog\/","name":"Project Immerse","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.projectimmerse.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5","name":"projectimmerse","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g","caption":"projectimmerse"},"url":"https:\/\/www.projectimmerse.com\/blog\/author\/projectimmerse\/"}]}},"_links":{"self":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/comments?post=772"}],"version-history":[{"count":27,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/772\/revisions"}],"predecessor-version":[{"id":806,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/772\/revisions\/806"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media\/1098"}],"wp:attachment":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media?parent=772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/categories?post=772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/tags?post=772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}