# JavaScript Modern (ES6+) (Vue.js / Nuxt.js) > Promises, async/await, modules, classes, map/filter/reduce, optional chaining, nullish coalescing - 20 pertanyaan wawancara - Junior - [Pertanyaan Wawancara: Vue.js / Nuxt.js](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara.md) ## 1. Apa itu Promise dalam JavaScript? **Jawaban** Promise adalah objek yang merepresentasikan penyelesaian atau kegagalan akhir dari sebuah operasi asinkron. Ia memungkinkan penanganan operasi yang memakan waktu (permintaan HTTP, pembacaan file) tanpa memblokir eksekusi kode. Sebuah Promise dapat memiliki tiga keadaan: pending (menunggu), fulfilled (berhasil diselesaikan), atau rejected (gagal dengan sebuah error). ## 2. Apa tujuan dari keyword async sebelum sebuah fungsi? **Jawaban** Keyword async secara otomatis mengubah sebuah fungsi menjadi fungsi asinkron yang selalu mengembalikan sebuah Promise. Bahkan jika fungsi mengembalikan nilai sederhana, nilai tersebut akan secara otomatis dibungkus dalam Promise yang sudah diselesaikan. Hal ini memungkinkan penggunaan await di dalam fungsi untuk menunggu Promise lain dengan cara yang lebih mudah dibaca daripada dengan then() dan catch(). ## 3. Apa yang dilakukan operator optional chaining ?. dalam JavaScript? **Jawaban** Operator optional chaining memungkinkan akses yang aman ke properti bersarang dari sebuah objek yang mungkin bernilai null atau undefined. Jika sebuah properti perantara bernilai null atau undefined, ekspresi mengembalikan undefined alih-alih melempar error. Hal ini menghindari penulisan banyak pemeriksaan manual dan membuat kode lebih ringkas serta mudah dibaca. ## 17 pertanyaan lagi tersedia - Apa perbedaan antara null dan undefined di JavaScript? - Bagaimana cara mengimpor fungsi bernama dari sebuah ES6 module? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Vue.js / Nuxt.js lainnya - [Dasar-Dasar JavaScript](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/javascript-fundamentals.md): 20 pertanyaan, Junior - [Dasar-Dasar Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-basics.md): 22 pertanyaan, Junior - [Komponen Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-components.md): 20 pertanyaan, Junior - [Vue Router](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-router.md): 18 pertanyaan, Junior - [Pinia State Management](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/pinia-state-management.md): 20 pertanyaan, Junior - [Vuex (Legacy)](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vuex-legacy.md): 15 pertanyaan, Mid-Level - [Composition API](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/composition-api.md): 24 pertanyaan, Mid-Level - [Reaktivitas Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-reactivity.md): 20 pertanyaan, Mid-Level - [Dasar-Dasar Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-fundamentals.md): 22 pertanyaan, Mid-Level - [Data Fetching Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-data-fetching.md): 20 pertanyaan, Mid-Level - [SSR & SSG Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-ssr-ssg.md): 22 pertanyaan, Mid-Level - [Server Routes Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-server-routes.md): 20 pertanyaan, Mid-Level - [Modul Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-modules.md): 18 pertanyaan, Mid-Level - [Composable Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-composables.md): 20 pertanyaan, Mid-Level - [Form & Validasi Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-forms-validation.md): 20 pertanyaan, Mid-Level - [Manajemen State Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-state-management.md): 18 pertanyaan, Mid-Level - [Testing Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-testing.md): 20 pertanyaan, Mid-Level - [Deployment Nuxt & CI/CD](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-deployment-cicd.md): 22 pertanyaan, Mid-Level - [Performa Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-performance.md): 22 pertanyaan, Senior - [Pola Lanjutan Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-advanced-patterns.md): 24 pertanyaan, Senior - [TypeScript dengan Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/typescript-vue.md): 22 pertanyaan, Senior - [Autentikasi Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-auth.md): 20 pertanyaan, Senior - [SEO dengan Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-seo.md): 20 pertanyaan, Senior - [Internasionalisasi Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-i18n.md): 18 pertanyaan, Senior - [Arsitektur Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-architecture.md): 22 pertanyaan, Senior - [Keamanan Nuxt](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/nuxt-security.md): 20 pertanyaan, Senior - [Ekosistem Vue](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/vue-ecosystem.md): 18 pertanyaan, Senior - [Migrasi Vue 2→3 & Nuxt 2→3](https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/migration-vue2-vue3-nuxt2-nuxt3.md): 22 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/vue-nuxt/pertanyaan-wawancara/es6-modern-javascript