در این مقاله قصد داریم با یکی از ویژگیهای کلیدی تایپ اسکریپت به نام رابط (Interface) آشنا شویم. رابط ابزاری قدرتمند برای تعریف ساختار دادههاست و به ما کمک میکند تا کدهای تمیزتر، قابل فهمتر و با خطای کمتری بنویسیم. ادامه این مطلب راهنمای جامعی برای آموزش Interface در تایپ اسکریپت است.
در دنیای برنامهنویسی، ساختار و نظم نقش کلیدی در خوانایی، کارآمدی و پایداری کد ایفا میکنند. تایپ اسکریپت، زبانی قدرتمند بر پایهی JavaScript، با ارائهی ابزارهای مختلفی به شما کمک میکند تا ساختار دادههای خود را به طور دقیق و مشخص تعریف کنید. یکی از این ابزارها، رابط (Interface) نام دارد.
مرجع کامل و تخصصی آموزش جاوا اسکریپت + اعطای گواهینامه دوره
رابط، مانند یک قالب یا الگو عمل میکند و به شما این امکان را میدهد تا ساختار دقیق اشیاء (Object) خود را مشخص کنید. این کار باعث میشود تا نوع دادهی هر ویژگی (Property) در شیء به طور واضح مشخص شود و از بروز خطاهای احتمالی جلوگیری شود.
فرض کنید در حال ساخت یک برنامهی مدیریت کتابخانه هستید. قطعا نیاز دارید تا اطلاعات مربوط به هر کتاب را ذخیره کنید. این اطلاعات شامل مواردی مثل عنوان کتاب، نویسنده، سال انتشار و … میشود. حالا تصور کنید که این اطلاعات را بدون هیچ ساختاری، به صورت دلخواه در متغیرهای مختلف ذخیره کنید. قطعا بعد از مدتی کار کردن با این کد، خواندن و مدیریت آن بسیار دشوار خواهد شد.
فرض کنید در حال ساخت یک برنامهی مدیریت کتابخانه هستید. قطعا نیاز دارید تا اطلاعات مربوط به هر کتاب را ذخیره کنید. این اطلاعات شامل مواردی مثل عنوان کتاب، نویسنده، سال انتشار و … میشود. حالا تصور کنید که این اطلاعات را بدون هیچ ساختاری، به صورت دلخواه در متغیرهای مختلف ذخیره کنید. قطعا بعد از مدتی کار کردن با این کد، خواندن و مدیریت آن بسیار دشوار خواهد شد.
Interface در تایپ اسکریپت به ما این امکان را میدهد تا یک الگو یا قالب برای ساختار دادههایمان تعریف کنیم. این الگو مشخص میکند که هر شیء (Object) از این نوع، چه ویژگیها (Property) و مقادیر (Value) قابل قبولی دارد.
پیشنهاد مطالعه: معرفی دستورات شرطی در جاوا اسکریپت به زبان ساده
برای تعریف یک رابط در تایپ اسکریپت از کلیدواژهی interface استفاده میکنیم. بعد از آن، یک نام برای رابط انتخاب کرده و سپس درون آکولاد (Curly Braces) مشخص میکنیم که این رابط شامل چه ویژگیهایی میشود.
برای تعریف هر ویژگی، ابتدا نام آن را مینویسیم، سپس یک کولون (Colon) قرار میدهیم و در نهایت نوع دادهی آن ویژگی را مشخص میکنیم.
مثال: تعریف رابط برای یک کتاب:
interface Book { title: string; author: string; yearPublished: number; }
در این مثال، رابطی به نام Book تعریف کردهایم که شامل سه ویژگی است:
حالا هر شیئی که بخواهد از نوع Book باشد، باید این سه ویژگی را با همان انواع دادهی تعریف شده داشته باشد.
وقتی رابطی را تعریف کردیم، میتوانیم از آن برای ایجاد اشیاء (Object) جدید استفاده کنیم. برای این کار، بعد از نام متغیر، یک کولون قرار میدهیم و سپس نوع آن را به صورت interfaceName تعریف میکنیم.
مثال: ایجاد یک شیء از نوع Book:
let book1: Book = { title: "قلعه حیوانات", author: "جورج اورول", yearPublished: 1945, };
در این کد، شیئی به نام book1 ایجاد کردهایم که از نوع Book است. همانطور که میبینید، این شیء دارای سه ویژگی title, author و yearPublished است که دقیقا با آنچه در رابط Book تعریف کرده بودیم مطابقت دارد.
با افزایش تعداد رابطها در پروژه، ممکن است با مشکل تداخل نامها مواجه شویم. برای سازماندهی بهتر، میتوانیم از Namespace در تایپ اسکریپت استفاده کنیم. Namespace به ما این امکان را میدهد تا رابطهای مرتبط را در یک گروه دستهبندی کنیم.