{"id":278,"date":"2022-06-15T06:00:03","date_gmt":"2022-06-15T06:00:03","guid":{"rendered":"https:\/\/rizkiakmanda.com\/?p=278"},"modified":"2022-06-20T06:00:35","modified_gmt":"2022-06-20T06:00:35","slug":"perbedaan-javascript-es5-dan-es6","status":"publish","type":"post","link":"https:\/\/rizkiakmanda.com\/?p=278","title":{"rendered":"Perbedaan JavaScript ES5 dan ES6"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">ECMAScript adalah spesifikasi bahasa scripting dari ECMA International,ini dibuat untuk membakukan JavaScript.ES ini memiliki banyak implementasi, dan yang populer adalah JavaScript.Umumnya,ECMAScript digunakan untuk script client side dan world wide web.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">ES5 itu sendiri adalah singkatan dari ECMAScript 5 atau dikenal sebagai ECMAScript 2009,dan ES6 adalah ECMAScript 6 atau ECMAScript 2015.ES6 adalah peningkatan besar dalam JavaScript,yang memungkinkan kita untuk menulis kode untuk aplikasi kompleks.ES5 dan ES6 memiliki beberapa kesamaan dalam sifatnya,dan juga banyak perbedaan diantara mereka.Mari kita lihat beberapa perbedaan antara ES5 dan ES6.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Yang pertama adalah Tipe-Data,dalam ES5 mensupport <\/span><i><span style=\"font-weight: 400;\">data types primitive<\/span><\/i><span style=\"font-weight: 400;\"> yaitu: string,number,boolean,null,dan undefined.Sedangkan ES6 terdapat beberapa tipe data tambahan ke JavaScript yaitu symbol untuk mensupport unique value.Dari segi performa sudah jelas ES6 memiliki kinerja yang lebih baik dari ES5.Manipulasi Object pun lebih lancar di ES6 karena destrukturisasi dan speed operators.Terdapat juga cara baru untuk mendefinisikan variabel yaitu <\/span><b>const <\/b><span style=\"font-weight: 400;\">dan <\/span><b>let<\/b><span style=\"font-weight: 400;\">,keduanya sama-sama mendeklarasikan variabel hanya saja <\/span><b>const <\/b><span style=\"font-weight: 400;\">untuk yang nilainya tetap sedangkan <\/span><b>let<\/b><span style=\"font-weight: 400;\"> untuk yang nilainya berubah ubah<\/span><b>.<\/b><span style=\"font-weight: 400;\">Selain itu terdapat juga arrow functions,dimana kita tidak perlu menambahkan keyword function lagi,contoh<\/span><\/p>\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-javascript\"><\/p>\n<pre class=\"dm-pre-admin-side\">\/\/ Function Biasa\r\nvar fungsi = function() {\r\n    return \"Classic Function\";\r\n}\r\n\r\n\/\/Arrow Function\r\nconst fungsi = () =&gt; {\r\n    return \"Arrow Function\";\r\n}\r\n<\/pre>\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\n<p><span style=\"font-weight: 400;\">Selain Arrow Function terdapat juga konsep baru di loop yaitu <\/span><i><span style=\"font-weight: 400;\">for of<\/span><\/i><span style=\"font-weight: 400;\">,dengan tujuan melakukan <\/span><i><span style=\"font-weight: 400;\">iteration <\/span><\/i><span style=\"font-weight: 400;\">atas nilai nilai objek yang dapat diubah.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Di ES6 terdapat juga Spread Operator(&#8230;),dengan spread operator ini membuat kita lebih mudah untuk bekerja dengan array atau object.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-279\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/unnamed.png\" alt=\"\" width=\"415\" height=\"193\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/unnamed.png 415w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/unnamed-300x140.png 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Seperti bisa dilihat di line 20, spread operators digunakan untuk menyalin isi dari state dan mengatur ulang isi dari state.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selain Spread Operators,terdapat juga Template Literal(`),dengan ini kita bisa melakukan string interpolation dengan mudah,contoh:\u00a0<\/span><\/p>\n<div class=\"dm-code-snippet dark no-background no-background-mobile dm-slim-version\" style=\"background-color:#abb8c3;\" snippet-height=\"\">\n\t\t\t<div class=\"control-language\">\n                <div class=\"dm-buttons\">\n                    <div class=\"dm-buttons-left\">\n                        <div class=\"dm-button-snippet red-button\"><\/div>\n                        <div class=\"dm-button-snippet orange-button\"><\/div>\n                        <div class=\"dm-button-snippet green-button\"><\/div>\n                    <\/div>\n                    <div class=\"dm-buttons-right\">\n                        <a id=\"dm-copy-raw-code\">\n                        <span class=\"dm-copy-text\">Copy Code<\/span>\n                        <span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span>\n                        <span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a>\n                    <\/div>\n                <\/div>\n                <pre class=\"no-line-numbers\"><code id=\"dm-code-raw\" class=\"no-wrap language-javascript\"><\/p>\n<pre class=\"dm-pre-admin-side\">\/\/String interpolation\r\nvar a = 10;\r\nvar b = 15;\r\n\r\nconsole.log('Hasil dari a+b adalah' + (a+b));\r\n\r\n\/\/String interpolation dengan Template Literal\r\nlet a = 10;\r\nlet b = 15;\r\n\r\nconsole.log(`Hasil dari a+b adalah ${a+b}`);\r\n<\/pre>\n<p><\/code><\/pre>\n\t\t\t<\/div>\n        <\/div>\n<p><span style=\"font-weight: 400;\">Sampai sekarang,tidak ada browser yang sepenuhnya mendukung fitur ES6,namun kita bisa mengubah kode ES6 menjadi ES5 dengan transpilation,dengan menggunakan Babel atau Traceur.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ECMAScript adalah spesifikasi bahasa scripting dari ECMA International,ini dibuat untuk membakukan JavaScript.ES ini memiliki banyak implementasi, dan yang populer adalah JavaScript.Umumnya,ECMAScript digunakan untuk script client side dan world wide web. ES5 itu sendiri adalah singkatan dari ECMAScript 5 atau dikenal sebagai ECMAScript 2009,dan ES6 adalah ECMAScript 6 atau ECMAScript 2015.ES6 adalah peningkatan besar dalam JavaScript,yang [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":280,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[3,20],"tags":[],"class_list":["post-278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding-tutorial","category-javascript"],"acf":[],"_links":{"self":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=278"}],"version-history":[{"count":1,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/278\/revisions"}],"predecessor-version":[{"id":281,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/278\/revisions\/281"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/media\/280"}],"wp:attachment":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}