يتناول هذا البرنامج التعليمي ما يكفي من لغة JavaScript لمساعدتك في بدء كتابة نصوص Earth Engine البرمجية. للاطّلاع على أدلة تعليمية أكثر شمولاً حول JavaScript، يمكنك مراجعة مراجع مطوّري برامج Mozilla. للحصول على مقدمة عن البرمجة، مع أمثلة في JavaScript، راجِع Eloquent JavaScript. للحصول على اقتراحات حول أسلوب ترميز JavaScript، يمكنك الاطّلاع على دليل أسلوب JavaScript من Google. في هذا الدليل التعليمي، ستكتب رموز JavaScript في أداة تعديل الرموز في Earth Engine. قبل البدء، استخدِم دليل "أداة تعديل الرموز" للتعرّف على بيئة "أداة تعديل الرموز".
مرحبًا أيها العالم!
حان الوقت لكتابة أول رمز JavaScript في Earth Engine. في متصفّح Chrome، انتقِل إلى code.earthengine.google.com وانسخ ما يلي في أداة تعديل الرموز:
أداة تعديل الرموز (JavaScript)
print('Hello World!');
انقر على تشغيل ولاحظ أنّه تتم طباعة "مرحبًا بالعالم" في
علامة التبويب "وحدة التحكّم". السطر أعلاه هو عبارة JavaScript. في JavaScript، تنتهي العبارات بفاصلة منقوطة. تتكوّن برامج Earth Engine من مجموعة من العبارات مثل هذه. يمكنك منع تشغيل الرمز بدون
حذفه عن طريق التعليق عليه. من بين طرق الإشارة إلى أسطر رموز باعتبارها تعليقًا هي وضع شرطتَين مائلتَين للأمام // قبل الرمز الذي لا تريد تشغيله. على سبيل المثال:
أداة تعديل الرموز (JavaScript)
// print('Hello World!');من الممارسات الجيدة وضع الكثير من التعليقات في الرمز البرمجي لوصف ما تحاول القيام به. ومن الجيد أيضًا حذف الرمز البرمجي الذي تم التعليق عليه والذي لم يعد يفعل أي شيء. ستؤدي كلتا الممارستين إلى تحسين إمكانية قراءة التعليمات البرمجية.
أنواع بيانات JavaScript الأساسية
السلاسل
يساعد استخدام المتغيّرات لتخزين العناصر والبيانات الأساسية في تسهيل قراءة الرمز البرمجي. على سبيل المثال،
يتم تحديد المتغيّر الذي يخزّن كائن سلسلة باستخدام علامات اقتباس مفردة ' أو مزدوجة
" (ولكن لا تخلط بينهما)، مع
تفضيل علامات الاقتباس
المفردة. أنشئ سلسلة جديدة وخزِّنها في متغيّر باسم
greetString:
أداة تعديل الرموز (JavaScript)
// Use single (or double) quotes to make a string. var greetString = 'Ahoy there!'; // Use parentheses to pass arguments to functions. print(greetString);
Numbers
يُرجى العِلم أنّه يتم تحديد المتغيّرات باستخدام الكلمة الرئيسية var. يمكن أن تخزّن المتغيّرات
أيضًا أرقامًا:
أداة تعديل الرموز (JavaScript)
// Store a number in a variable. var number = 42; print('The answer is:', number);
In this example, observe that when print() is given two arguments separated
by commas, each argument is printed on a different line.
القوائم
حدِّد القوائم باستخدام الأقواس المربّعة []. قائمة أرقام، على سبيل المثال:
أداة تعديل الرموز (JavaScript)
// Use square brackets [] to make a list. var listOfNumbers = [0, 1, 1, 2, 3, 5]; print('List of numbers:', listOfNumbers);
يمكن للقوائم أيضًا تخزين السلاسل أو الكائنات الأخرى. على سبيل المثال:
أداة تعديل الرموز (JavaScript)
// Make a list of strings. var listOfStrings = ['a', 'b', 'c', 'd']; print('List of strings:', listOfStrings);
العناصر
الكائنات في JavaScript هي قواميس لأزواج key: value. أنشِئ كائنًا
(أو قاموسًا) باستخدام الأقواس المتعرجة {}، على سبيل المثال:
أداة تعديل الرموز (JavaScript)
// Use curly brackets {} to make a dictionary of key:value pairs. var object = { foo: 'bar', baz: 13, stuff: ['this', 'that', 'the other thing'] }; print('Dictionary:', object); // Access dictionary items using square brackets. print('Print foo:', object['foo']); // Access dictionary items using dot notation. print('Print stuff:', object.stuff);
لاحظ أنه يمكنك الحصول على قيمة من قاموس من خلال توفير المفتاح. يوضّح لك هذا المثال كيفية إجراء ذلك لكائنات JavaScript. ستتعرّف لاحقًا على كيفية إجراء ذلك للقواميس المتوفّرة على خادم Earth Engine.
الدوال
الدوال هي طريقة أخرى لتحسين قابلية قراءة الرموز البرمجية وإعادة استخدامها من خلال تجميع مجموعات
من العمليات. يمكنك تعريف دالة باستخدام الكلمة الرئيسية function. تبدأ أسماء الدوال بحرف وتحتوي على زوج من الأقواس في النهاية. غالبًا ما تتطلّب الدوال مَعلمات تحدّد للدالة ما يجب فعله، ويتم إدراج هذه المَعلمات داخل القوسين (). توضع مجموعة العبارات التي تشكّل الدالة داخل أقواس متعرجة. تشير الكلمة الرئيسية return إلى ناتج الدالة. هناك
عدة طرق لتعريف الدالة، ولكننا سنستخدم هنا شيئًا مثل هذا:
أداة تعديل الرموز (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
لنلقِ نظرة على الأسطر واحدًا تلو الآخر. ينشئ السطر الأول دالة جديدة ويخصّصها
للمتغيّر myFunction. كان من الممكن تسمية هذا المتغير
بأي اسم. وتحدّد كيفية استدعاء الدالة لاحقًا. إنّ العبارات الواردة بين قوسَين بعد اسم الدالة (أي parameter1 وparameter2 وparameter3) هي أسماء المَعلمات، ويمكن تسميتها بأي اسم، ولكن من الأفضل منحها أسماء فريدة تختلف عن الرمز خارج الدالة. مهما كانت الأسماء التي تختارها، ستستخدم الدالة هذه الأسماء للإشارة إلى القيم التي يتم تمريرها إليها عند استدعائها. تُسمّى قيمة المَعلمة بعد تمريرها إلى دالة وسيطة. على الرغم من أنّ الدوال يمكنها استخدام المتغيّرات التي تم تعريفها خارج الدالة (المتغيّرات العمومية)، لا تظهر وسيطات الدوال خارج الدالة. يمكن أن تأخذ الدوال أي عدد من المعلمات التي تحتاجها، حتى الصفر. في ما يلي مثال بسيط على دالة تعرض وسيطتها فقط:
أداة تعديل الرموز (JavaScript)
// The reflect function takes a single parameter: element. var reflect = function(element) { // Return the argument. return element; }; print('A good day to you!', reflect('Back at you!'));
هذا مثال على دالة معرَّفة من قِبَل المستخدم. هناك أيضًا العديد من دوال Earth Engine المضمّنة. يمكنك استكشاف علامة التبويب "المستندات" في "أداة تعديل الرموز" للتعرّف على هذه الدوال المضمّنة. في ما يلي مثال بسيط جدًا على دالة في Earth Engine:
أداة تعديل الرموز (JavaScript)
var aString = ee.Algorithms.String(42);
في القسم التالي، يمكنك الاطّلاع على مزيد من المعلومات عن عناصر Earth Engine وطرقه.