دعونا نواجه الأمر ، لم يكن جافا سكريبت دائما أفضل سمعة بين المطورين ، ومنذ تأسيس شركة CoffeeScript في عام 2009 هذه اللغة الصغيرة قد اتخذت العالم من مطوري جافا سكريبت من قبل العاصفة. بشكل رئيسي لأنها تتغلب على ما قد يقوله البعض أنه أسوأ جانب من جوانب جافا سكريبت: بناء جملة رمزها.

على الرغم من أن هذه لغة جديدة ، إلا أنك ستلتقطها بسرعة كبيرة بسبب إعادة تنسيق جافا سكريبت. انها اساسا أجمل ، وأبسط جافا سكريبت.

عند كتابة CoffeeScript ، لا تنس أنك تقوم بكتابة الكود الذي سيتم نشره قبل أن يتم نشره في JavaScript والذي يتبع أفضل الممارسات ويجتاز اختبار JSLint ، لذلك هذا أقل شيء يجب أن تقلق بشأنه. سيظل المخرج جافا سكريبت صالحًا ، ولن يواجه المتصفح مشكلة في القراءة. CoffeeScript هو جافا سكريبت ما هو SASS إلى CSS: طريقة لكتابة رمز أبسط وأكثر إنتاجية.

تركيب واستخدام

تعتبر CoffeeScript أداة مساعدة node.js لتثبيتها تحتاج إلى تثبيت node.js بالإضافة إلى مدير حزمة العقدة. بافتراض أنك قمت بتثبيت هاتين الحزمتين ، كل ما عليك فعله هو الانتقال إلى مطرافك وتثبيت CoffeeScript مع مدير الحزم باستخدام الكود:

npm install -g coffee-script

فقط مع ذلك ، تم تثبيت CoffeeScript على جهازك. لتجميع ملف .coffee في ملف JavaScript ، يجب كتابة:

coffee --compile script.coffee

سيقوم هذا بتجميع ملف script.coffee في script.js في نفس الدليل ولكنه لن يفعل ذلك إلا عندما تقوم بتشغيل الأمر ، إذا كنت تريد أن يقوم بالتجميع في كل تغيير تقوم به في ملف القهوة تحتاج إلى إضافة-ساعة قبل التجميع:

coffee --watch --compile script.coffee

مع إضافة هذا ، سيتم تجميع جافا سكريبت في كل مرة تقوم فيها بإجراء تغيير على ملف .coffee الخاص بك.

المتغيرات

عند كتابة متغير جافاسكريبت ، يجب أن نضيف الكلمة الرئيسية var ، مع CoffeeScript أن الكلمة الرئيسية قد اختفت ، ويمكنك فقط كتابة المتغير وتعيينه لشيء ما. هناك شيء آخر يجب أن تبحث عنه هو أن CoffeeScript تستخدم الكثير من طرق المسافة البادئة لتجنب شبه الأعمدة ولأن اللغة تفهم أن بيان المتغير قد اكتمل فقط تحتاج إلى الانتقال إلى سطر جديد:

age = 21country = "Portugal"

في JavaScript ، سيكون عليك كتابة شيء مثل:

var age = 21;var country = "Portugal";

إنه مثال صغير ولكن يمكنك البدء في معرفة مدى قوة CoffeeScript عندما يتعلق الأمر بتبسيط التعليمات البرمجية.

عوامل منطقية ومقارنة

تذكر كل هذا الوقت الذي استغرقته في حفظ مشغلات جافا سكريبت؟ تذكر أتساءل لماذا تحتاج إلى استخدام === بدلا من مجرد استخدام هو؟ حسنا حسناً يعتني كوفيكسكريبت بذلك. يقدم بعض الأسماء المستعارة لطيفة حقا للمشغلين:

عوامل المقارنة

  • يمكن الآن أن يتم تداولها === ببساطة ؛
  • ! == يتحول على قدم المساواة إلى isnt أكثر قابلية للقراءة .

العوامل المنطقية

  • بدلاً من استخدام && ، يمكنك استخدام و؛
  • أما بالنسبة || من الآن فصاعدا يمكنك كتابة أو
  • يتم تبديل علامة التعجب الصغيرة التي تشير إلى عدم وجود شيء منطقي: لا.

إذا البيانات

شيء آخر يتخلص منه CoffeeScript من الأقواس المتعرجة. ويستخدم أسلوب الطعج للإعلان عندما تكون داخل بيان ، إذا كانت العبارات تعمل مثل JavaScript ولكنك لا تحتاج إلى الأقواس المتعرجة أو الأقواس. قم فقط بوضع مسافة بادئة للرمز الذي تريد تشغيله عندما تكون العبارة صحيحة:

if work > 24 and sleep < 8vacations()elsework()

سوف يتحول إلى JavaScript على النحو التالي:

if (work > 24 && sleep < 8) {vacations();} else {work();}

آمل أن تكون قد بدأت في رؤية فوائد CoffeeScript فقط مع هذه المظاهرات البسيطة التي توضح كيف يمكن أن تجعلها نظيفة من شفرتك ، والرمز الأنظف يعني رمزًا أكثر قابلية للإصلاح.

التكرار من خلال المصفوفات

التكرار من خلال المصفوفات هو أحد الأشياء التي يجب عليك فعلها في كل تطبيق JavaScript تكتبه ، وبناء الجملة من خلالها في JavaScript ليس هو أبسط أو أنظف ، أعتقد أن هذا هو المكان الذي تشرق فيه CoffeeScript بالفعل. للحلقة عبر صفيف نستخدم حلقة for..in ، مثل:

tasks = ['Design','Code','Groceries']for task in tasksalert task

كل هذا الجزء من التعليمات البرمجية سوف يفعله هو قراءة كل الأشياء في الصفيف ثم التنبيه بعد ذلك واحدا تلو الآخر ، فقط لجعل الأشياء أكثر بساطة يمكنك حتى كتابة ... في حلقة في سطر واحد ، مثل:

tasks = ['Design','Code','Groceries']alert task for task in tasks

إنها ببساطة أكثر قابلية للقراءة وقابلية للصيانة من جافا سكريبت الفانيلا ، والتي يتحدث عن الكود الذي تنتجه شركة CoffeeScript لهذين الخطين:

var task, tasks, _i, _len;tasks = ['Design', 'Code', 'Groceries'];for (_i = 0, _len = tasks.length; _i < _len; _i++) {task = tasks[_i];alert(task);}

في حين حلقات

على الرغم من أن الحلقات مفيدة أيضًا عند إنشاء تطبيق جافا سكريبت ، إلا أن تطبيق CoffeeScript لا يفشل في تسهيل القراءة والكتابة أيضًا ، على سبيل المثال:

while sleep < 8sleep()

أو يمكنك كتابتها كلها على سطر واحد إذا كنت تفضل:

while sleep < 8 then sleep()

أو:

sleep() until sleep > 8

في جافا سكريبت نقية ، سيترجم هذا إلى:

//thenwhile (sleep < 8) {sleep();}

أو:

//untilwhile (!(sleep > 8)) {sleep();}

المهام

تعتبر الوظائف أيضًا جزءًا حيويًا آخر من أي لغة برمجة ، وبالرغم من أن الوظائف في جافا سكريبت ليست فوضويًا مثل بعض الأجزاء الأخرى ، فإن CoffeeScript تبسط هذا إلى الحد الأقصى أيضًا ، وهي وظيفة بسيطة تأخذ اسم شخص ما ثم تنبيهات يمكن كتابتها على هذا النحو :

sayHi = (name) ->return "Hello " + namealert sayHi('Sara')

كل ما عليك فعله هو اسم الوظيفة ، في هذه الحالة تسمى الوظائف sayHi ، ثم بعد علامة المساواة تحتاج إلى تحديد المعلمات. هنا الاسم هو المعلمة المفردة ، بعد تحديد قاعدة وظيفتنا ، يجب أن نكتب -> متبوعة في السطر التالي من خلال ما نريد أن تقوم به الوظيفة بحيث يعرف CoffeeScript أننا داخل الدالة. في هذه الحالة ، كل ما أريده هو إرجاع "مرحبًا" ثم اسم الشخص وأخيرًا استخدم تنبيهًا بسيطًا لاستدعاء الوظيفة بالاسم. يمكننا أيضًا كتابة هذا في سطر واحد مما يلغي الإدخال والتأخير فقط عن طريق كتابة ما ستقوم به الوظيفة بعد ->:

sayHi = (name) -> return "Hello " + name

سيتم تجميع مقتطف الشفرة الصغير هذا في جافا سكريبت التالية:

var sayHi;sayHi = function(name) {return "Hello " + name;};alert(sayHi('Sara'));

بالطبع كانت هذه وظيفة بسيطة فعلاً ، ولكن كما ترون أنها أنقذتنا 3 أسطر من الكود وبالطبع في JavaScript ، يمكننا فقط تسمية المتغير حيث نعلن الدالة مثل:

var sayHi = function(name) {return "Hello " + name;};alert(sayHi('Sara'));

الأمثلة التي قدمتها هنا هي ما يجمعه CoffeeScript ، وعلى الرغم من أنه في معظم الحالات هناك طرق أسهل لكتابة شيء ما ، فإن كل ملفات JavaScript التي تم تجميعها صحيحة ودلالية.

استنتاج

هذه مجرد بداية لما يمكن أن تقدمه لك CoffeeScript ، عندما تبدأ الأمور في التعقيد ، ستعطيك هذه اللغة القليل الكثير من النفوذ بالمقارنة مع JavaScript ، وأقل كود تحتاج إلى كتابته ، وكود أكثر قابلية للقراءة ، وأكثر قابلية للإصلاح كذلك. ، بحيث يمكنك العودة إلى موقع ويب بعد مرور عام وتعرف ما يحدث في جافا سكريبت.

ترقبوا الجزء الثاني من هذه السلسلة حيث سأوضح لكم كيفية دمج CoffeeScript مع jQuery و LocalStorage من أجل إنشاء تطبيق قائمة اتصال بسيط.

هل استخدمت CoffeeScript لتبسيط JavaScript؟ أي أجزاء من CoffeeScript تفضل استخدام Javascript؟ اسمحوا لنا أن نعرف في التعليقات.

صورة مميزة / صورة مصغرة ، صورة القهوة عبر Shutterstock.