DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Bingung mau develop aplikasi make JavaScript atau TypeScript? Mari simak artikel ini untuk membantu kalian menentukan pilihan bahasa pemrograman yang pas!
Daftar Isi:
TypeScript dan JavaScript adalah dua bahasa pemrograman yang sangat populer dalam pengembangan web. Meskipun keduanya sering digunakan secara bersamaan, mereka memiliki perbedaan mendasar yang membuat masing-masing unik.
Memahami perbedaan ini dapat membantu pengembang memilih bahasa yang paling sesuai untuk kebutuhan proyek mereka. Jadi pada artikel kali ini, aku akan memberikan penjelasan perbedaan antara TypeScript dan JavaScript, keunggulan masing-masing, serta memberikan studi kasus sederhana untuk membandingkan penggunaannya. Penasaran? Jadi langsung saja kita menuju pembahasan TypeScript vs JavaScript!
JavaScript adalah bahasa pemrograman yang pertama kali dikembangkan oleh Brendan Eich pada tahun 1995. Bahasa ini awalnya dirancang untuk menambah interaktivitas pada halaman web, namun kini telah berkembang menjadi bahasa yang digunakan di berbagai environment, baik di sisi client (browser), mobile development, maupun di sisi server (Node.js).
JavaScript memainkan peran penting dalam pengembangan web modern. Memiliki dukungan luas dari berbagai browser dan komunitas yang besar, JavaScript menjadi bahasa yang fleksibel dan dinamis. Beberapa fitur utama JavaScript meliputi:
TypeScript adalah bahasa pemrograman free dan open-source yang dikembangkan oleh Microsoft. Diperkenalkan pada tahun 2012, TypeScript adalah superset dari JavaScript yang menambahkan tipe statis opsional ke dalam bahasa. Hal ini menunjukan bahwa semua kode JavaScript valid adalah juga kode TypeScript yang valid, tetapi TypeScript menambahkan kemampuan untuk menentukan jenis variabel, fungsi, dan properti objek.
Tujuan utama TypeScript adalah untuk meningkatkan produktivitas developer dan kualitas kode dengan menyediakan fitur-fitur seperti:
Static vs Dynamic Type:
// JavaScript: Dynamic typing, tanpa compile-time type checking
function add(a, b) {
return a + b;
}
console.log(add(5, 10)); // Output: 15
console.log(add("5", 10)); // Output: 510 (string concatenation, behavior tidak terduga)
// JavaScript memperbolehkan untuk meneruskan parameter dengan type apapun ke sebuah fungsi
// TypeScript: Static typing, dengan compile-time type checking
function add(a: number, b: number): number {
return a + b;
}
console.log(add(5, 10)); // Output: 15
console.log(add("5", 10)); // Error: Argument of type 'string' is not assignable to parameter of type 'number'
// TypeScript memastikan bahwa semua type parameter yang diteruskan ke fungsi harus sama
Class dan Inheritance:
Pengembangan dan Debugging:
Skala Proyek:
Ekosistem dan Library:
Mari kita membuat sebuah proyek sederhana yaitu API CRUD (Create, Read, Update, Delete) untuk manajemen kontak, menggunakan kedua bahasa pemrograman yang telah dijelaskan di atas.
Instalasi:
npm init -y
.npm install express
.src
dan buat file index.js
di dalamnya.Struktur Proyek:
├── src
│ └── index.js
└── package.json
Kode:
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
let contacts = [];
app.post('/contacts', (req, res) => {
const contact = req.body;
contacts.push(contact);
res.status(201).send(contact);
});
app.get('/contacts', (req, res) => {
res.send(contacts);
});
app.put('/contacts/:id', (req, res) => {
const id = req.params.id;
const updatedContact = req.body;
contacts = contacts.map(contact => contact.id === id ? updatedContact : contact);
res.send(updatedContact);
});
app.delete('/contacts/:id', (req, res) => {
const id = req.params.id;
contacts = contacts.filter(contact => contact.id !== id);
res.status(204).send();
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
Menjalankan Kode
node index.js
Instalasi:
npm init -y
.npm install express typescript @types/node @types/express
.npm install -g ts-node
npx tsc --init
.src
dan buat file index.ts
di dalamnya.Struktur Proyek:
├── src
│ └── index.ts
├── tsconfig.json
└── package.json
Kode:
import express, { Request, Response } from 'express';
const app = express();
const port = 3000;
app.use(express.json());
interface Contact {
id: string;
name: string;
email: string;
}
let contacts: Contact[] = [];
app.post('/contacts', (req: Request, res: Response) => {
const contact: Contact = req.body;
contacts.push(contact);
res.status(201).send(contact);
});
app.get('/contacts', (req: Request, res: Response) => {
res.send(contacts);
});
app.put('/contacts/:id', (req: Request, res: Response) => {
const id = req.params.id;
const updatedContact: Contact = req.body;
contacts = contacts.map(contact => contact.id === id ? updatedContact : contact);
res.send(updatedContact);
});
app.delete('/contacts/:id', (req: Request, res: Response) => {
const id = req.params.id;
contacts = contacts.filter(contact => contact.id !== id);
res.status(204).send();
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
Menjalankan Kode
ts-node src/index.ts
Memilih antara TypeScript dan JavaScript tergantung pada kebutuhan dan skala proyek kalian. JavaScript adalah pilihan yang baik untuk proyek kecil hingga menengah yang membutuhkan pengembangan cepat dan fleksibilitas.
TypeScript, di sisi lain, menawarkan keuntungan static type dan pengembangan yang lebih kuat, membuatnya lebih cocok untuk proyek menegah hingga besar dan jangka panjang yang memerlukan struktur dan pemeliharaan yang ketat. Terimakasih sudah membaca dan semoga bermanfaat!
Halo, saya Wahyu. Saat ini saya bekerja sebagai Software Engineer di Taksu Tech. Semoga artikel yang saya tulis bermanfaat untuk temen-temen.