Introduzione a JavaScript per Earth Engine

Questo tutorial illustra solo le nozioni di base di JavaScript per iniziare a scrivere script di Earth Engine. Per tutorial più approfonditi su JavaScript, consulta queste risorse per sviluppatori Mozilla. Per un'introduzione alla programmazione, con esempi in JavaScript, consulta Eloquent JavaScript. Per suggerimenti sullo stile di programmazione JavaScript, consulta la Guida di stile di Google per JavaScript. In questo tutorial scriverai codice JavaScript nell'editor di codice di Earth Engine. Prima di iniziare, consulta la guida all'editor di codice per acquisire familiarità con l'ambiente dell'editor di codice.

Hello World!

È il momento di scrivere il tuo primo codice JavaScript per Earth Engine. Nel browser Chrome, vai alla pagina code.earthengine.google.com e copia quanto segue nell'editor di codice:

Editor di codice (JavaScript)

print('Hello World!');

Fai clic su Esegui e osserva che "Hello world!" viene stampato nella scheda Console. La riga sopra è un'istruzione JavaScript. In JavaScript, le istruzioni terminano con un punto e virgola. I programmi di Earth Engine sono costituiti da un insieme di istruzioni come questa. Puoi impedire l'esecuzione del codice senza eliminarlo commentandolo. Uno dei modi per commentare il codice è inserire due barre // prima del codice che non vuoi eseguire. Ad esempio:

Editor di codice (JavaScript)

// print('Hello World!');

È buona norma inserire molti commenti nel codice per descrivere ciò che stai cercando di fare. È anche buona norma eliminare il codice commentato che non fa più nulla. Entrambe queste pratiche miglioreranno la leggibilità del codice.

Tipi di dati JavaScript di base

Stringhe

L'utilizzo di variabili per archiviare oggetti e primitive aiuta la leggibilità del codice. Ad esempio, una variabile che memorizza un oggetto stringa è definita da virgolette singole ' o doppie " (ma non mescolarle), con virgolette singole preferite. Crea una nuova stringa e memorizzala in una variabile denominata greetString:

Editor di codice (JavaScript)

// Use single (or double) quotes to make a string.
var greetString = 'Ahoy there!';
// Use parentheses to pass arguments to functions.
print(greetString);

Numeri

Tieni presente che le variabili sono definite con la parola chiave var. Le variabili possono anche memorizzare numeri:

Editor di codice (JavaScript)

// Store a number in a variable.
var number = 42;
print('The answer is:', number);

In questo esempio, osserva che quando a print() vengono assegnati due argomenti separati da virgole, ogni argomento viene stampato su una riga diversa.

Elenchi

Definisci gli elenchi con le parentesi quadre []. Un elenco di numeri, ad esempio:

Editor di codice (JavaScript)

// Use square brackets [] to make a list.
var listOfNumbers = [0, 1, 1, 2, 3, 5];
print('List of numbers:', listOfNumbers);

Gli elenchi possono anche memorizzare stringhe o altri oggetti. Ad esempio:

Editor di codice (JavaScript)

// Make a list of strings.
var listOfStrings = ['a', 'b', 'c', 'd'];
print('List of strings:', listOfStrings);

Oggetti

Gli oggetti in JavaScript sono dizionari di coppie key: value. Crea un oggetto (o dizionario) utilizzando le parentesi graffe {}, ad esempio:

Editor di codice (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);

Tieni presente che puoi ottenere un valore da un dizionario fornendo la chiave. Questo esempio mostra come eseguire questa operazione per gli oggetti JavaScript. In seguito imparerai a farlo per i dizionari che si trovano sul server Earth Engine.

Funzioni

Le funzioni sono un altro modo per migliorare la leggibilità e la riusabilità del codice raggruppando insiemi di operazioni. Definisci una funzione con la parola chiave function. I nomi delle funzioni iniziano con una lettera e hanno una coppia di parentesi alla fine. Le funzioni spesso accettano parametri che indicano alla funzione cosa fare. Questi parametri vanno inseriti tra parentesi (). L'insieme di istruzioni che compongono la funzione viene inserito tra parentesi graffe. La parola chiave return indica l'output della funzione. Esistono diversi modi per dichiarare una funzione, ma qui utilizzeremo un esempio simile a questo:

Editor di codice (JavaScript)

var myFunction = function(parameter1, parameter2, parameter3) {
  statement;
  statement;
  statement;
  return statement;
};

Esaminiamo le righe una alla volta. La prima riga crea una nuova funzione e la assegna alla variabile myFunction. Questa variabile avrebbe potuto avere qualsiasi nome. Definisce come chiamare la funzione in un secondo momento. I termini tra parentesi dopo il nome della funzione (ovvero parametro1, parametro2, parametro3) sono i nomi dei parametri e potrebbero anche essere stati denominati in qualsiasi modo, anche se è buona norma assegnare loro nomi univoci diversi dal codice esterno alla funzione. Qualunque sia il nome che assegni, questi sono i nomi che la funzione utilizzerà per fare riferimento ai valori che vengono passati alla funzione quando viene chiamata. Il valore di un parametro, una volta passato a una funzione, viene chiamato argomento. Sebbene le funzioni possano utilizzare variabili dichiarate all'esterno della funzione (variabili globali), gli argomenti della funzione non sono visibili all'esterno della funzione. Le funzioni possono accettare tutti i parametri di cui hai bisogno, anche nessuno. Ecco un semplice esempio di funzione che restituisce semplicemente il suo argomento:

Editor di codice (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!'));

Questo è un esempio di funzione definita dall'utente. Sono inoltre disponibili molte funzioni integrate di Earth Engine. Esplora la scheda Documenti dell'editor di codice per scoprire di più su queste funzioni integrate. Ecco un esempio molto semplice di una funzione Earth Engine:

Editor di codice (JavaScript)

var aString = ee.Algorithms.String(42);

Nella sezione successiva, scopri di più su oggetti e metodi di Earth Engine.