Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • TypeScript Documentation28টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Basic Types
  • Variables & Inference
  • Functions
  • Objects
  • Type Alias
  • Interface
  • Union & Intersection
  • Type Narrowing
  • Type Guards
  • Enums
  • Generics
  • Classes
  • Utility Types
  • Type Assertion
  • Async TypeScript
  • Conditional Types
  • Mapped Types
  • Template Literal Types
  • tsconfig Options
  • Modules & Types
  • Decorators
  • React + TypeScript
  • Node.js + TypeScript
  • JS → TypeScript
  • Common Errors
  • Mini Project
  1. Docs
  2. TypeScript
  3. TypeScript Functions (ফাংশন)
TypeScriptBeginner

TypeScript Functions (ফাংশন)

Parameter ও return type, optional/default/rest parameter, function type, callback, arrow function, overload এবং never — সম্পূর্ণ বাংলা।

22টি অংশবাংলা ভাষায়

ফাংশনই প্রোগ্রামের মূল একক। TypeScript-এ ফাংশনের parameter ও return type দুটিই strict করা যায় — ফলে ভুল arguments দিয়ে call করা অসম্ভব হয়ে যায়।

Parameter ও Return Types

function add(a: number, b: number): number {
  return a + b;
}

// add("10", 5);    // ❌ string দেওয়া যাবে না
// add(1, 2, 3);    // ❌ অতিরিক্ত argument
console.log(add(2, 3));   // 5

function greet(name: string): string {
  return "হ্যালো, " + name;
}

Optional ও Default Parameters

// Optional — '?' থাকলে দেওয়াও যায়, না-দেওয়াও যায়
function introduce(name: string, title?: string): string {
  return title ? title + " " + name : name;
}

// Default — না দিলে ডিফল্ট মান বসে
function multiply(a: number, b: number = 2): number {
  return a * b;
}

console.log(multiply(5));    // 10
console.log(multiply(5, 4)); // 20

Rest Parameters

function sum(...numbers: number[]): number {
  return numbers.reduce((total, n) => total + n, 0);
}

console.log(sum(1, 2, 3));         // 6
console.log(sum(1, 2, 3, 4, 5));   // 15

Function Type

ফাংশনকেই টাইপ হিসেবে ধরা যায় — এতে callback পাস করা এবং reusable function signature বানানো সহজ হয়।

type Calculator = (a: number, b: number) => number;

const addFn: Calculator = (a, b) => a + b;
const mulFn: Calculator = (a, b) => a * b;

function operate(op: Calculator, x: number, y: number) {
  return op(x, y);
}

console.log(operate(addFn, 2, 3));   // 5

Callback Function

function fetchUserName(callback: (name: string) => void) {
  // সিমুলেশন: পরে ডেটা আসবে
  const name = "রহিম";
  callback(name);
}

fetchUserName((name) => {
  console.log("ব্যবহারকারী:", name);
});

Arrow Function ও Inline Type

// Inline type
const double = (n: number): number => n * 2;

// Object টাইপ ফেরত দেয়
const makeUser: (name: string, age: number) => { name: string; age: number } =
  (name, age) => ({ name, age });

Function Overloading

একই ফাংশন ভিন্ন arguments আকারে call করা যায় — overload signature দিয়ে সম্ভাব্য সব রূপ টাইপ করে দেওয়া হয়। এক ধাপ নিচে implementation লেখা হয়।

function format(value: string): string;
function format(value: number): string;
function format(value: string | number): string {
  return typeof value === "number"
    ? value.toFixed(2)
    : value.toUpperCase();
}

console.log(format(3.14159));   // "3.14"
console.log(format("hello"));   // "HELLO"

this Parameter

interface Counter {
  count: number;
  add(this: Counter, amount: number): void;
}

const counter: Counter = {
  count: 0,
  add(this: Counter, amount: number) {
    this.count += amount;
  },
};

counter.add(5);
console.log(counter.count);   // 5

never Return

function throwError(message: string): never {
  throw new Error(message);
}

function assertNever(value: never): never {
  throw new Error("অপ্রত্যাশিত মান: " + value);
}
সহজ নিয়ম

প্রতিটি প্যারামিটারে টাইপ দিন, return type লিখুন (ফাংশন public API হলে), আর void/never মনে রাখুন — return না করা বনাম শেষ না হওয়া।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরVariables ও Type InferenceপরেরTypeScript Objects (অবজেক্ট)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com