{
    "componentChunkName": "component---src-templates-blog-post-js",
    "path": "/objects-vs-primitives-in-javascript/",
    "result": {"data":{"markdownRemark":{"html":"<p>We know that JavaScript has six primitive data types: <del>string</del>, <del>number</del>, <del>boolean</del>, <del>undefined</del>, <del>null</del> and <del>symbol</del>. A primitive is data that is not an object and has no methods.</p>\n<p>We also know that in JavaScript, except the primitive data types, everything is an object. An Object is an object. An array is an object. A function is an object and so on.</p>\n<p>To understand some of the key differences between objects and primitives, let’s start with an example:</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">let</span><span class=\"mtk1\"> </span><span class=\"mtk3\">topScore</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk7\">90</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">let</span><span class=\"mtk1\"> </span><span class=\"mtk3\">myScore</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk3\">topScore</span></span></span></code></pre>\n<p>On line 1, when <del>topScore</del> variable is created JavaScript engine creates a new space in memory and saves the value of <del>topScore</del> as 90. On line 2, we have a different variable called <del>myScore</del> whose value is equal to the value of the <del>topScore</del> variable. In this case, JavaScript creates a different space in memory and copies the value of the topScore variable. As a result, we have two different spaces in memory and both the variables have the same value.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 505px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/deba506f2ffe4bced1791ddbc5933f6e/eccca/memoryOne.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 88.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAIAAADUsmlHAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABtklEQVQ4y+2S/W+aQByH/Uu3WBXHkBdBLGL7w7KtHRwcqCBgV+dL7aoD7w37923uFkuaLtn285Inucvd58nnm9zVCN5zKEE3syyOJ6MwmMZRliZhAOfzz74HwsBPkykq8lOYU+MLRgWjGADH0LsDq//h/buhPVAVOYR+pyNdXNgeABSjl+UTaJ+jIkf7HKMCo2L/sw2j4lnsZZkSxDntCeYnfyD/Ff/lf5P5q1aphn53W+PvWTJShVFclRnFzwL8I9QoQd92D0k8ztI4S6JZGsfRaLWYM4p5CaN4ubhNppMsiThxNMp3W0pQrWRkvfoitptC80xonolCS+2IIwgOJeXy42PpXH9s1F8JzfqbdlMShX6vu7lblYwc5c162VU7qiL1dFXXZNPQJuPgST4wHzhvRaGnq0ZXNbrKcHB+v1kzio/y3XppW6ZtmZoi2QNzcN4bh/AkH0oaQs+2zJ6h6Zp8ObRsy6zIq4VpaKosNeqvVUUyDS08js2emj1H12Sx3Wo16n1Ds0z919iM4u3DPXCvoe+GEEDfdZ2r25u0ZITLJSOzLHGdqwCCEALfczzwabf9+qP5O8ZQsY+nOpVJAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Memory\"\n        title=\"Memory\"\n        src=\"/static/deba506f2ffe4bced1791ddbc5933f6e/eccca/memoryOne.png\"\n        srcset=\"/static/deba506f2ffe4bced1791ddbc5933f6e/56d15/memoryOne.png 200w,\n/static/deba506f2ffe4bced1791ddbc5933f6e/d9f49/memoryOne.png 400w,\n/static/deba506f2ffe4bced1791ddbc5933f6e/eccca/memoryOne.png 505w\"\n        sizes=\"(max-width: 505px) 100vw, 505px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"js\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-source\"><span class=\"mtk3\">topScore</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk7\">100</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-source\"><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">topScore</span><span class=\"mtk1\">) </span><span class=\"mtk4 mtki\">// 100</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-source\"><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">myScore</span><span class=\"mtk1\">) </span><span class=\"mtk4 mtki\">// 90</span></span></span></code></pre>\n<p>Now if we assign the <del>topScore</del> variable a different value, the value of <del>myScore</del> variable doesn't change because <del>myScore</del> variable points to a different space in memory than the <del>topScore</del> variable.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 471px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/deb417276ad09776b02bb490a6aef024/27c0d/memoryTwo.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 88.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAIAAADUsmlHAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABlklEQVQ4y+2Sa2/aMBSG+aXTOpoCGQ0Jzo0h1kmTECRgO3YIdBulade16iC+5QdW4CpKWadp+zzp/WKd55GO3uOG4IXgBWc7JfnlKqM0wQguswUlSUrJaplF0QRjuFpmrNhKwTSv06jkUokEo8B3Lz6OEJyHof/pYjSdjPuOPYujWRwpyTnbvSJXYcV2t31kxZaz3R49RD+PyFdkKZjOr+if5b/Kf/nfZH3VeurQ76YNfdtSiXqO7qwkPwKeZSX5w/0dwTAlOCV4QXGCZvn1uvqMUrCrb19oAlO6ByhBNIE/Hx+kYI1Sifx6bbaNltHstE7N9lnv3EwJLpXQG5ZKTMefjXdvD1Oja7YHgfvj+42SfC/f5BtgW8C2fNfxgOMBO0uTSlZKzKNJr2v6nqOB0TC8v7ut5KvhwB8ErtM7DwP3Q+gtaE2WHMF4OPA9YIN+bzQMX8j5Zg0cq9tpNU/edN93gGMRDOtyPB0Dx2q3msbpiQfswOs/r60LwzCmCdr3kSAM43zzorD110sM40OjiOA5wXNd2BP48rImHj/CkQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Memory\"\n        title=\"Memory\"\n        src=\"/static/deb417276ad09776b02bb490a6aef024/27c0d/memoryTwo.png\"\n        srcset=\"/static/deb417276ad09776b02bb490a6aef024/56d15/memoryTwo.png 200w,\n/static/deb417276ad09776b02bb490a6aef024/d9f49/memoryTwo.png 400w,\n/static/deb417276ad09776b02bb490a6aef024/27c0d/memoryTwo.png 471w\"\n        sizes=\"(max-width: 471px) 100vw, 471px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>When we deal with objects, something different happens though. Consider the following example:</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"js\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">let</span><span class=\"mtk1\"> </span><span class=\"mtk3\">phone</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk3\">brand</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;Apple&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">let</span><span class=\"mtk1\"> </span><span class=\"mtk3\">cellphone</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk3\">phone</span></span></span></code></pre>\n<p>On line 1, we have defined an object, during the creation of which JavaScript engine creates new space in memory. On line 5, the value of the <del>cellphone</del> variable is equal to the value of the <del>phone</del> variable. In this case, unlike primitives, Javascript engine doesn't create new space for the <del>cellphone</del> variable. In other words, the <del>cellphone</del> variable doesn't copy the value of the <del>phone</del> variable. Both the variables - <del>phone</del> and <del>cellphone</del> - become references for the same object in memory.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 501px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d2ee57f6a8304132106076dceb00dc77/56272/memoryThree.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 96%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABzklEQVQ4y72Ua3OaQBSG/bGdNm3qDQRRQW0+RLkLEjQaEZCrAnuB/L+MkjHGWJN+6czzaWefPWffs7MVBDMI0iJH3sZRZHE47BtTbaLK49G9wI8VWRoMOFHkN66dYwhhhk6olHKOYRT6An/P9jqaqiiydPdnIPAjSeTvhgNVkaLQzzFEH+UjOYblDoxAkSOMAEb7FYzAmXZB/lf+i3y4Argsgyy9ZsIsSxOQJhCkZcCvco7hNg4EgX+YajPTBODdKRDsU7TXK0UWRYE3dE2bKGHgl11UMAJZut3GYRR4jm1dDDZLd8kutp4WUegnu/it8nFICGaeawee+9HHCASeG3guQtnptM8D2zhr115BkJYJYQwhSG3ryfecvwZ2rLCNg7W1jKNgG4clUeivlo/JLr4mly/cNPQuQ3E9hu22S7ge02Wo5eOsyDF8H+e5bOgThiY5tlP6XI/ps512q7mYm8/FZ/JUV8lmrU0Re2iSIhttiqDJxmJuFp/K+kSp3t78/vWDqFdrtz9vvn9rEfUWUf+S/DDVugzVP7Rd0mc7DE1+tXKrWWNo8rVzimBokmhU5zPj2p0R3H8J1mopiWNFFo6oiigKo42zzg8zP5VfACjD3Cd4ZImTAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Memory\"\n        title=\"Memory\"\n        src=\"/static/d2ee57f6a8304132106076dceb00dc77/56272/memoryThree.png\"\n        srcset=\"/static/d2ee57f6a8304132106076dceb00dc77/56d15/memoryThree.png 200w,\n/static/d2ee57f6a8304132106076dceb00dc77/d9f49/memoryThree.png 400w,\n/static/d2ee57f6a8304132106076dceb00dc77/56272/memoryThree.png 501w\"\n        sizes=\"(max-width: 501px) 100vw, 501px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>Let's assign the <del>brand</del> property a new value using the dot operator.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"js\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk3\">phone</span><span class=\"mtk1\">.</span><span class=\"mtk7\">brand</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;OnePlus&quot;</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">phone</span><span class=\"mtk1\">.</span><span class=\"mtk7\">brand</span><span class=\"mtk1\">) </span><span class=\"mtk4 mtki\">// OnePlus</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">cellphone</span><span class=\"mtk1\">.</span><span class=\"mtk7\">brand</span><span class=\"mtk1\">) </span><span class=\"mtk4 mtki\">// OnePlus</span></span></span></code></pre>\n<p>Now, if we check the value of the <del>brand</del> property of both the <del>phone</del> and <del>cellphone</del> variables, we get the same result - <del>OnePlus</del> - in both the cases.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 494px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/01078ba70b893525bb57342035215595/7f4de/memoryFour.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB8klEQVQ4y42SWXOiUBCF/auTx3GCoOxinLxksSqJJiLiwibLZfFugPl7UwZDLExGq05RQJ3v3j7d3SIYVsJoG4U+iALHtgPfS+IoDDZR6Hue7TpWGPgQZpSg2k8wbB1/3N4ORYEfDgcP93cC31MVZfzydHX16+H+7vHxoUE2YX/jLsz5YjH3XHu1NK31ynNtc24Evud5zhm4yElZ0LKg1UuRk5ziXUlzgnKKG2QTrpI3VP/8ET62/qSvExtwTnGR45zi02C1oSxIFaSOcIA/phIAEMBtSr+7E0SBbVuBvwEgjEF4gClGCKavk2d9+jYZv4AozCnGRxglKImBaeij0Wj8/KTrU2M2qwK2KgfBiBLkb5wsBd9WXuQEhH4YeGVBasNXwwiGWRq7zjoBITrp+X7TXAvBDH+am6OiBG3T2LGWMEvfd2WR07LId2URBZuNZ1eGM3NeLYz10nTttWOtKi1NY7WYI5j9b0koQVkCNFUSeVbkuVqS0JXFXgzCxp6dwGn890Yb9OUbTRlo++dQUzRV0lQpiaMzcJoAWeRZpt3jmC7LdK5/M3/akti7FFYkgWXaPNfhuQ7LtLnOtSx0L4IPZavSQJM/it9LU6VBX77o5r4iijwrCV1J4D51WcPgNp0bU306memvxzL0N5gljTn/A030A6F2m91ZAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Memory\"\n        title=\"Memory\"\n        src=\"/static/01078ba70b893525bb57342035215595/7f4de/memoryFour.png\"\n        srcset=\"/static/01078ba70b893525bb57342035215595/56d15/memoryFour.png 200w,\n/static/01078ba70b893525bb57342035215595/d9f49/memoryFour.png 400w,\n/static/01078ba70b893525bb57342035215595/7f4de/memoryFour.png 494w\"\n        sizes=\"(max-width: 494px) 100vw, 494px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"js\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">let</span><span class=\"mtk1\"> </span><span class=\"mtk3\">phone</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk3\">brand</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;Apple&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">let</span><span class=\"mtk1\"> </span><span class=\"mtk3\">cellphone</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> </span><span class=\"mtk3\">phone</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk3\">phone</span><span class=\"mtk1\"> </span><span class=\"mtk12\">=</span><span class=\"mtk1\"> {</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"6\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">  </span><span class=\"mtk3\">brand</span><span class=\"mtk14\">:</span><span class=\"mtk1\"> </span><span class=\"mtk16\">&quot;Nokia&quot;</span><span class=\"mtk1\">,</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"7\"></span><span class=\"grvsc-source\"><span class=\"mtk1\">}</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"8\"></span><span class=\"grvsc-source\"><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">phone</span><span class=\"mtk1\">.</span><span class=\"mtk7\">brand</span><span class=\"mtk1\">) </span><span class=\"mtk4 mtki\">// Nokia</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"9\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"10\"></span><span class=\"grvsc-source\"><span class=\"mtk9\">console</span><span class=\"mtk1\">.</span><span class=\"mtk6\">log</span><span class=\"mtk1\">(</span><span class=\"mtk3\">cellphone</span><span class=\"mtk1\">.</span><span class=\"mtk7\">brand</span><span class=\"mtk1\">) </span><span class=\"mtk4 mtki\">// Apple</span></span></span></code></pre>\n<p>However, if we assign the <del>phone</del> variable a new object using the equal (<del>=</del>) sign (line 5), then JavaScript will create new space in memory. And if we log the value of the <del>brand</del> property of both the <del>phone</del> and <del>cellphone</del> variables, we get different results as shown below:</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 675px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/25288e3f1801b6f9d46948f22f3aab5d/a0bb6/memoryFive.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 46%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB3UlEQVQoz0WO23LSYBSF87jaWrkpFvAFdKxySCABIcNwSPIn/ykJcOFQQvIACCFUKUUOvbByGOOkZKhXDtLRmX2x9/r2mrWY+/vvnU7bcbqO/TS2bdm2ZVlXv3w/DMNut2Pb1j/q2JbjdNvtT3d3S2Y2+wYUCWqAy6QFPstmkrVahWCoAnmzXgdBADUANZAXcrkcm+UyYqlICZLq1fH4K7NczDHSGqaOkYagiqBqGLRh6pSg7Xaze3jQKTYNSjA8UKTpFLeaJtTAZHLDLBZzBFWgyARD06CGThS5djxXqx++71OCADhUM3RiGEQFsiLVVSA/mTHSZKlWrZSbDcM0qFgsKLJEMPS8Ya/X0ykBiiTVa0eqAblaKWOkTW7Gx2TQbJpiqZBlU2w6WRaLzYaBkbZerYIgkOuVLJtKJS+lelUFMptOsumkWCpMbyfMcrFAUG21GgLPvXzxPHJ2KvBcq2kSDDeb9X6/z/Nc5KCfCDxXFj+enT6LnJ28f/dmPp8x89lMkes6xXyOTcSiiViUz7KUIBXI69UqDMM8zyVi0fjFuZDjxGIhfnH+Ov7qw+Xb6fSW8f2f3tD9cj3yhq476LuDvjd0r0feyBuGu93vx8f/uucenv7ug/7n7WbzB2Z+fx+j9i9PAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Memory\"\n        title=\"Memory\"\n        src=\"/static/25288e3f1801b6f9d46948f22f3aab5d/a0bb6/memoryFive.png\"\n        srcset=\"/static/25288e3f1801b6f9d46948f22f3aab5d/56d15/memoryFive.png 200w,\n/static/25288e3f1801b6f9d46948f22f3aab5d/d9f49/memoryFive.png 400w,\n/static/25288e3f1801b6f9d46948f22f3aab5d/a0bb6/memoryFive.png 675w\"\n        sizes=\"(max-width: 675px) 100vw, 675px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    position: relative;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n    line-height: 1.4;\n  }\n  \n  .grvsc-code {\n    display: table;\n  }\n  \n  .grvsc-line {\n    display: table-row;\n    box-sizing: border-box;\n    width: 100%;\n    position: relative;\n  }\n  \n  .grvsc-line > * {\n    position: relative;\n  }\n  \n  .grvsc-gutter-pad {\n    display: table-cell;\n    padding-left: 0.75rem;\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\n  }\n  \n  .grvsc-gutter {\n    display: table-cell;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    user-select: none;\n  }\n  \n  .grvsc-gutter::before {\n    content: attr(data-content);\n  }\n  \n  .grvsc-source {\n    display: table-cell;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-source:empty::after {\n    content: ' ';\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    user-select: none;\n  }\n  \n  .grvsc-gutter + .grvsc-source {\n    padding-left: 0.75rem;\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\n  }\n  \n  /* Line transformer styles */\n  \n  .grvsc-has-line-highlighting > .grvsc-code > .grvsc-line::before {\n    content: ' ';\n    position: absolute;\n    width: 100%;\n  }\n  \n  .grvsc-line-diff-add::before {\n    background-color: var(--grvsc-line-diff-add-background-color, rgba(0, 255, 60, 0.2));\n  }\n  \n  .grvsc-line-diff-del::before {\n    background-color: var(--grvsc-line-diff-del-background-color, rgba(255, 0, 20, 0.2));\n  }\n  \n  .grvsc-line-number {\n    padding: 0 2px;\n    text-align: right;\n    opacity: 0.7;\n  }\n  \n  .synthwave-84 { background-color: #262335; }\n  .synthwave-84 .mtki { font-style: italic; }\n  .synthwave-84 .mtk10 { color: #FEDE5D; }\n  .synthwave-84 .mtk1 { color: #FFFFFF; }\n  .synthwave-84 .mtk3 { color: #FF7EDB; }\n  .synthwave-84 .mtk12 { color: #FFFFFFEE; }\n  .synthwave-84 .mtk7 { color: #2EE2FA; }\n  .synthwave-84 .mtk9 { color: #FE4450; }\n  .synthwave-84 .mtk6 { color: #36F9F6; }\n  .synthwave-84 .mtk4 { color: #848BBD; }\n  .synthwave-84 .mtk14 { color: #B6B1B1; }\n  .synthwave-84 .mtk16 { color: #FF8B39; }\n  .synthwave-84 .grvsc-line-highlighted::before {\n    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));\n  }\n</style>","frontmatter":{"title":"Objects vs Primitives in JavaScript","date":"2021-05-26"}}},"pageContext":{"slug":"/objects-vs-primitives-in-javascript/","prev":{"fields":{"slug":"/javascript-dom-manipulation/"},"frontmatter":{"modules":null}},"next":{"fields":{"slug":"/understanding-execution-stack-in-javascript/"},"frontmatter":{"modules":null}}}},
    "staticQueryHashes": ["3159585216"]}