บทแนะนำนี้ครอบคลุม JavaScript เพียงพอที่จะช่วยให้คุณเริ่มต้นเขียนสคริปต์ Earth Engine ได้ ดูบทแนะนำ JavaScript ที่ละเอียดมากขึ้นได้ที่แหล่งข้อมูลสำหรับนักพัฒนาซอฟต์แวร์ของ Mozilla ดูข้อมูลเบื้องต้นเกี่ยวกับการเขียนโปรแกรมพร้อมตัวอย่างใน JavaScript ได้ที่ Eloquent JavaScript ดูคำแนะนำเกี่ยวกับรูปแบบการเขียนโค้ด JavaScript ได้ที่คู่มือรูปแบบ JavaScript ของ Google ในบทแนะนำนี้ คุณจะเขียน JavaScript ในตัวแก้ไขโค้ดของ Earth Engine ก่อนเริ่มต้น ให้ใช้คู่มือตัวแก้ไขโค้ดเพื่อทำความคุ้นเคยกับสภาพแวดล้อมของตัวแก้ไขโค้ด
Hello World!
ได้เวลาเขียน JavaScript แรกสำหรับ Earth Engine แล้ว ในเบราว์เซอร์ Chrome ให้ไปที่ code.earthengine.google.com แล้วคัดลอกโค้ดต่อไปนี้ลงในตัวแก้ไขโค้ด
ตัวแก้ไขโค้ด (JavaScript)
print('Hello World!');
คลิกเรียกใช้และสังเกตว่า "Hello world!" พิมพ์อยู่ในแท็บคอนโซล บรรทัดด้านบนคือคำสั่ง JavaScript ใน JavaScript คำสั่งจะลงท้ายด้วยเครื่องหมายเซมิโคลอน โปรแกรม Earth Engine ประกอบด้วยชุดคำสั่งเช่นนี้ คุณป้องกันไม่ให้โค้ดทำงานได้โดยไม่ต้องลบโค้ดนั้นด้วยการใส่เครื่องหมายคอมเมนต์ วิธีหนึ่งในการทำเครื่องหมายโค้ดเป็นความคิดเห็นคือการใส่เครื่องหมายทับ 2 ตัว // ไว้หน้าโค้ดที่คุณไม่ต้องการเรียกใช้ เช่น
ตัวแก้ไขโค้ด (JavaScript)
// print('Hello World!');แนวทางปฏิบัติแนะนำคือการใส่ความคิดเห็นจำนวนมากลงในโค้ดเพื่ออธิบายสิ่งที่คุณพยายามทำ นอกจากนี้ คุณควรลบโค้ดที่มีความคิดเห็นซึ่งไม่ได้ทำอะไรอีกต่อไปแล้วด้วย แนวทางปฏิบัติทั้ง 2 อย่างนี้จะช่วยให้อ่านโค้ดได้ง่ายขึ้น
ประเภทข้อมูล 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);
ในตัวอย่างนี้ โปรดสังเกตว่าเมื่อ print() ได้รับอาร์กิวเมนต์ 2 รายการที่คั่นด้วยคอมมา ระบบจะพิมพ์อาร์กิวเมนต์แต่ละรายการในบรรทัดที่ต่างกัน
รายการ
กำหนดรายการด้วยวงเล็บเหลี่ยม [] รายการตัวเลข เช่น
ตัวแก้ไขโค้ด (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