اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

Rescript تشبه ال typescript من ناحية المبدأ، أي أنها بشكل مبسط بعض القواعد على كتابة ال javascript و التي يمكنك الكتابة بها و هي ستقوم بتحويل الكود إلى javascript.

أهم مثال هو أن تفرض نمط معين للبيانات، أن مثلاً int، حيث أن ال javascript لا يمكنها القيام بذلك بشكل مباشر فالمتغير ليس له نمط.

  • 0
نشر (معدل)

ما هو ReScript؟

تعمل ReScript مثل JS ولديها أيضًا نظام كتابة رائع. يتم تجميعها بأعلى جودة من JS النظيفة والقابلة للقراءة والأداء والتي يمكن تشغيلها مباشرة في المتصفحات و Node. بالإضافة إلى أنه يحتوي على سلسلة أدوات بناء متوسطة.

وكما في التعليق السابق فإن ال Rescript تشبه ال typescript ولكن لديها المميزات التالية

  • ReScript أسرع من JavaScript. يرشدك نظام الكتابة والمجمع في ReScript بشكل طبيعي نحو كتابة التعليمات البرمجية التي غالبًا ما تكون ذات أداء افتراضيًا ، مع الاستفادة الجيدة من تحسينات Just-In-Time المختلفة (الفئات المخفية ، والتخزين المؤقت المضمّن ، وتجنب عمليات deopts ، إلخ).
  • يتم تسهيل إزالة الشفرة الميتة على مستوى الوظيفة والوحدة من خلال نظام النوع المصمم جيدًا وتحليل النقاء.
  • على المستوى العالمي ، يُنشئ ReScript رمزًا يسهل بشكل طبيعي التخلص من الشفرة الميتة بواسطة أدوات التجميع مثل Rollup and Closure Compiler ، بعد مرور الإزالة المعقد الخاص به.
  • ناتج JS صغير جدًا. يقوم برنامج Hello world ReScript بإنشاء 20 بايت من كود JS
  • يتم تضمين المكتبات القياسية المطلوبة فقط عند الحاجة.
  • لديها أسرع توقيت حلقة التكرار. وقت إنشاء ReScript أسرع بمقدار واحد أو اثنين من أي بدائل.

والمزيد من المميزات الأخرى يمكنك الإطلاع عليها من الموقع الرسمي

الاختلاف مع TypeScript

  • تشارك ReScript بعض الأهداف نفسها مثل TypeScript ولكن لديها بعض الاختلافات:
  • يغطي TypeScript مجموعة ميزات JavaScript بالكامل وأكثر ، لكن ReScript يغطي فقط مجموعة فرعية منسقة من JavaScript.
  • لا تحتوي شفرة ReScript على أخطاء null / undefined .
  • ReScript سريع للغاية بسبب بساطته وتنظيمه. إنها واحدة من أسرع سلاسل أدوات نظام التحويل والمترجم لتطوير جافا سكريبت.
  • لا يحتاج إلى كتابة التعليقات التوضيحية. يتم الاستدلال على الأنواع من خلال اللغة وهي صحيحة للغاية.
تم التعديل في بواسطة عبدالباسط ابراهيم
خطأ إملائي
  • 0
نشر

Rescript هي لغة برمجة جديدة وعالية الأداء تم إنشاؤها لتسهيل عملية كتابة البرامج وتحسين أدائها. تشبه Rescript لغة Typescript بالنسبة لمبادئ الكتابة، حيث تفرض بعض القيود على البرمجة بلغة الجافاسكريبت، والتي يمكن للكود الذي تم كتابته بهذه اللغة أن يتم تحويله إلى جافاسكريبت.

تتميز Rescript بسرعة أداءها وقدرتها على تحسين أداء الكود المكتوب بها. كما أن لها نظام كتابة قوي يتيح للمبرمجين إمكانية كتابة التعليمات البرمجية بشكل أسرع وأكثر دقة.

125004912_Screenshot2023-02-28170257.png.dee7241ba0606c40afd3a9e46cea7658.png

تختلف Rescript عن Typescript في بعض النواحي، حيث تغطي Typescript مجموعة كبيرة من ميزات جافاسكريبت، بينما تغطي Rescript فقط مجموعة منسقة منها. كما أن Rescript لا تسمح بحدوث أخطاء null/undefined، بينما يتعامل Typescript مع هذه الأخطاء.

هذه بعض الأمثلة البسيطة للتعامل مع الأنواع في ReScript:

لنفترض أن لدينا مصفوفة من الأرقام الصحيحة التي نريد أن نضيف إليها قيمة واحدة:

let myArray = [|1, 2, 3|];
myArray->Array.map(x => x + 1);

في هذا المثال ، نحن نستخدم عامل التدفق (|]) لإنشاء مصفوفة من الأرقام الصحيحة. ثم نستخدم دالة Array.map () لتحويل كل عنصر في المصفوفة إلى عنصر جديد يتم احتسابه بإضافة واحد إلى القيمة الحالية.

هنا مثال آخر يستخدم السجلات:

type person = {
  name: string,
  age: int,
};

let myPerson = {name: "John Doe", age: 30};
let updatedPerson = {...myPerson, age: myPerson.age + 1};

في هذا المثال ، نحن نستخدم الكلمة الرئيسية "type" لتعريف نوع السجل "person" ، الذي يحتوي على اسم وعمر. ثم ننشئ متغير "myPerson" من نوع "person". بعد ذلك ، ننشئ متغيرًا آخر "updatedPerson" بتحديث قيمة "age" بإضافة واحد إلى القيمة الحالية. هذا مماثل لإعادة تعيين خاصية "age" في TypeScript.

هذه بعض الأمثلة البسيطة لإظهار بعض التفاصيل حول كيفية عمل ReScript. يمكنك العثور على المزيد من الأمثلة والتفاصيل في الوثائق الرسمية لـ ReScript.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...