CodeHub
226 subscribers
141 photos
14 videos
2 files
162 links
آیا علاقه‌مند به خلق دنیایی بهتر هستی؟

برنامه نویسی کلید خلاقیت بی‌حد و حصر است🚀⚡️

🧑‍💻 @farzinhamzehi
Download Telegram
#TypeScript

🔸برای کسی که تازه کار با TypeScript رو شروع کرده، این زبان ممکنه یه کم ترسناک به نظر بیاد. ولی اگه چند تا نکته و ترفند خوب یاد بگیری، می‌تونی از قدرت TypeScript استفاده کنی تا کدهای ایمن‌تر و قابل اعتمادتر بنویسی.

1 - فعال کردن حالت Strict 🚦
یکی از بهترین ویژگی‌های TypeScript سیستم بررسی دقیق نوع‌هاشه. با فعال کردن این حالت بررسی نوع‌ها رو با دقت بیشتری انجام می‌ده و پیام‌های خطای بهتری هم بهت می‌ده. برای فعال کردن این حالت، باید این گزینه‌ی رو به فایل tsconfig.json اضافه کنی.

{
"compilerOptions": {
"strict": true
}
}


2 - از نوع‌های صریح استفاده کن 📝
زبان TypeScript همونطور که از اسمش پیداست، درباره نوع‌هاست، پس خیلی مهمه که وقتی نوع‌ها رو تعریف می‌کنی، دقیق و واضح باشی. به جای اینکه بذاری TypeScript خودش نوع‌ها رو حدس بزنه، بهتره که نوع متغیرها، پارامترهای تابع و مقادیر بازگشتی رو صریحاً مشخص کنی. این کار خوندن کد رو راحت‌تر می‌کنه و باعث می‌شه که بقیه برنامه‌نویس‌ها راحت‌تر کدتو بفهمن.

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


3 - از اینترفیس‌ها استفاده کن📋
اینترفیس‌ها (Interfaces) تو TypeScript بهت این امکان رو می‌دن که شکل اشیا رو تعریف کنی و نوع ویژگی‌های اونا رو مشخص کنی. اینترفیس‌ها ابزار قدرتمندی هستن برای اینکه بتونی کدهای قابل استفاده مجدد و قابل نگهداری بنویسی.

interface User {
name: string;
age: number;
email: string;
}


4 - استفاده از Union Types و Type Guards🔀
قابلیت Union types بهت این امکان رو می‌دن که یه متغیر داشته باشی که می‌تونه چند نوع مختلف داشته باشه. این خیلی به درد می‌خوره وقتی که با شرایطی سروکار داری که یه متغیر ممکنه چند تا مقدار مختلف داشته باشه.
با استفاده از union types و محافظت از نوع‌ها (type protection)، می‌تونی کدی بنویسی که هم انعطاف‌پذیرتره و هم محکم‌تر و با سناریوهای مختلف بهتر کنار میاد.

type Shape = 'circle' | 'square' | 'triangle';

function getArea(shape: Shape, size: number): number {
if (shape === 'circle') {
return Math.PI * size * size;
} else if (shape === 'square') {
return size * size;
} else if (shape === 'triangle') {
return (Math.sqrt(3) / 4) * size * size;
}
}
const area = getArea('circle', 5);


5 - از جنریک‌ها برای کدهای قابل‌استفاده مجدد استفاده کن🔧
جنریک‌ها بهت این امکان رو می‌دن که اجزای کد رو به شکلی بنویسی که با نوع‌های مختلف کار کنه. اونا انعطاف‌پذیری و ایمنی نوع رو فراهم می‌کنن، چون بهت اجازه می‌دن که نوع‌ها رو توی توابع، کلاس‌ها و اینترفیس‌ها پارامتری کنی. با استفاده از جنریک‌ها می‌تونی توابع یا کلاس‌هایی بنویسی که با انواع مختلف داده‌ها کار کنن و در عین حال، ایمنی نوع رو حفظ کنی. اینجا یه مثال می‌زنم:

function identity<T>(value: T): T {
return value;
}

const result = identity<number>(42);


6 - استفاده از Type Assertion mama🔍
قابلیت Type Assertion یه روش برای اینه که به کامپایلر TypeScript بگی نوع مشخص یه مقدار چیه، وقتی که تو بیشتر از چیزی که چکر نوع می‌دونه، اطلاع داری. این کار بهت اجازه می‌ده که نوعی رو که TypeScript حدس زده رو نادیده بگیری و مقدار رو به عنوان یه نوع دیگه در نظر بگیری. از Type Assertion با احتیاط استفاده کن و فقط وقتی این کار رو بکن که مطمئنی نوع‌ها با هم سازگار هستن. اینجا یه مثال می‌زنم:

let value: any = 'Hello, TypeScript!';
let length: number = (value as string).length;


7 - استفاده از Intersection Types برای ترکیب انعطاف‌پذیر نوع‌ها🔗
قابلیت Intersection types بهت اجازه می‌ده که چند نوع مختلف رو با هم ترکیب کنی و یه نوع جدید بسازی که همه‌ی ویژگی‌ها و متدهای هر کدوم از اون نوع‌ها رو داره. این کار تو زمان تایپ‌کردن خیلی انعطاف‌پذیری می‌ده و می‌تونه مخصوصاً وقتی با ساختارهای پیچیده‌ی آبجکت‌ها سروکار داری، مفید باشه. اینجا یه مثال برات می‌زنم:

type Greeting = {
greet(): void;
};

type Farewell = {
sayGoodbye(): void;
};
type GreetingAndFarewell = Greeting & Farewell;
class Person implements GreetingAndFarewell {
greet() {
console.log('Hello!');
}
sayGoodbye() {
console.log('Goodbye!');
}
}
const person = new Person();
person.greet(); // Hello!
person.sayGoodbye(); // Goodbye


🌟زبان TypeScript یه زبان برنامه‌نویسی قدرتمندیه که تایپ‌های استاتیک و ویژگی‌های پیشرفته‌ای برای توسعه جاوا اسکریپت داره. این نکات بهت کمک می‌کنن تا کدهای تمیزتر و قابل‌نگهداری‌تری بنویسی و بهره‌وری‌ت رو بالا ببری.

🔴<CodeHub/>
🔥31