En este instructivo, se explica lo suficiente sobre JavaScript para que puedas comenzar a escribir secuencias de comandos de Earth Engine. Para obtener instructivos más detallados sobre JavaScript, consulta estos recursos para desarrolladores de Mozilla. Para obtener una introducción a la programación, con ejemplos en JavaScript, consulta Eloquent JavaScript. Para obtener sugerencias sobre el estilo de programación de JavaScript, consulta la Guía de estilo de JavaScript de Google. En este instructivo, escribirás JavaScript en el editor de código de Earth Engine. Antes de comenzar, usa la guía del Editor de código para familiarizarte con el entorno del Editor de código.
Hello World
Es hora de escribir tu primer código de JavaScript para Earth Engine. En tu navegador Chrome, ve a code.earthengine.google.com y copia lo siguiente en el Editor de código:
Editor de código (JavaScript)
print('Hello World!');
Haz clic en Run y observa que se imprime "Hello world!" en la
pestaña Console. La línea anterior es una sentencia de JavaScript. En JavaScript, las declaraciones terminan con un punto y coma. Los programas de Earth Engine se componen
de un conjunto de declaraciones como esta. Puedes evitar que se ejecute el código sin borrarlo si lo comentas. Una de las formas de marcar como comentario el código es colocar dos barras diagonales // antes del código que no quieres ejecutar. Por ejemplo:
Editor de código (JavaScript)
// print('Hello World!');Es una buena práctica incluir muchos comentarios en el código para describir lo que intentas hacer. También es recomendable borrar el código comentado que ya no hace nada. Ambas prácticas mejorarán la legibilidad del código.
Tipos de datos básicos de JavaScript
Strings
Usar variables para almacenar objetos y primitivas ayuda a que el código sea más legible. Por ejemplo,
una variable que almacena un objeto de cadena se define con comillas simples ' o dobles
" (pero no las mezcles), con
preferencia por las comillas
simples. Crea una cadena nueva y almacénala en una variable llamada greetString:
Editor de código (JavaScript)
// Use single (or double) quotes to make a string. var greetString = 'Ahoy there!'; // Use parentheses to pass arguments to functions. print(greetString);
Numbers
Ten en cuenta que las variables se definen con la palabra clave var. Las variables también pueden almacenar números:
Editor de código (JavaScript)
// Store a number in a variable. var number = 42; print('The answer is:', number);
En este ejemplo, observa que, cuando se proporcionan dos argumentos separados por comas a print(), cada argumento se imprime en una línea diferente.
Listas
Define listas con corchetes []. Una lista de números, por ejemplo:
Editor de código (JavaScript)
// Use square brackets [] to make a list. var listOfNumbers = [0, 1, 1, 2, 3, 5]; print('List of numbers:', listOfNumbers);
Las listas también pueden almacenar cadenas o cualquier otro objeto. Por ejemplo:
Editor de código (JavaScript)
// Make a list of strings. var listOfStrings = ['a', 'b', 'c', 'd']; print('List of strings:', listOfStrings);
Objetos
Los objetos en JavaScript son diccionarios de pares key: value. Crea un objeto
(o diccionario) con llaves {}, por ejemplo:
Editor de código (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);
Ten en cuenta que puedes obtener un valor de un diccionario proporcionando la clave. En este ejemplo, se muestra cómo hacerlo para objetos de JavaScript. Más adelante, aprenderás a hacerlo para los diccionarios que están en el servidor de Earth Engine.
Funciones
Las funciones son otra forma de mejorar la legibilidad y la reutilización del código, ya que agrupan conjuntos
de operaciones. Define una función con la palabra clave function. Los nombres de las funciones
comienzan con una letra y tienen un par de paréntesis al final. A menudo, las funciones toman
parámetros que le indican a la función qué hacer. Estos parámetros van dentro de los
paréntesis (). El conjunto de sentencias que componen la función se incluye entre llaves. La palabra clave return indica cuál es el resultado de la función. Existen
varias formas de declarar una función, pero aquí usaremos algo como esto:
Editor de código (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
Analicemos las líneas una por una. La primera línea crea una función nueva y la asigna
a la variable myFunction. Esta variable podría haber tenido cualquier
nombre. Define cómo llamar a la función más adelante. Los términos entre paréntesis después
del nombre de la función (es decir, parameter1, parameter2, parameter3) son los nombres de los parámetros y
también podrían tener cualquier nombre, aunque se recomienda darles nombres únicos
que sean diferentes del código fuera de la función. Independientemente de cómo los nombres, estos son
los nombres que usará la función para hacer referencia a los valores que se pasan a la función
cuando se la llama. El valor de un parámetro, una vez que se pasa a una función, se denomina argumento. Aunque las funciones pueden usar variables declaradas fuera
de la función (variables globales), los argumentos de la función no son visibles fuera de
ella. Las funciones pueden tomar tantos parámetros como necesites, incluso cero. Este es un ejemplo sencillo de una función que solo devuelve su argumento:
Editor de código (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!'));
Este es un ejemplo de una función definida por el usuario. También hay muchas funciones integradas de Earth Engine. Explora la pestaña Docs del editor de código para obtener más información sobre estas funciones integradas. Este es un ejemplo muy sencillo de una función de Earth Engine:
Editor de código (JavaScript)
var aString = ee.Algorithms.String(42);
En la siguiente sección, obtén más información sobre los objetos y métodos de Earth Engine.