class CampingSpot {
constructor(name, location) {
this.name = name;
this.location = location;
}
describeWater() {
console.log("The water at " + this.name + " is very cold.");
}
}
Agora podemos criar instâncias do CampingSpot
objeto à vontade:
let willowCreek = new CampingSpot("Willow Creek", "Big Sur");
let sunsetStateBeach = new CampingSpot(“Sunset State Beach”, “Santa Cruz”);
6. Usando APIs remotas
Acessar APIs hospedadas em serviços é outra necessidade comum em programas JavaScript. APIs fornecem acesso a dados e funcionalidades externas. Desenvolvedores frequentemente buscam soluções para buscar dados de APIs remotas, analisar respostas e integrá-las em seus aplicativos.
Felizmente, o JavaScript moderno inclui a Fetch API em ambientes de cliente e servidor. Esta é uma maneira simples e direta de fazer chamadas HTTP. Por exemplo, aqui está como obteríamos a lista de filmes de Star Wars do serviço SWAPI:
async function getStarWarsFilms() {
try {
const response = await fetch('https://swapi.dev/api/films');
if (!response.ok) {
throw new Error(`Error fetching Star Wars films: ${response.status}`);
}
const data = await response.json();
console.log(data.results);
} catch (error) {
console.error("Error:", error);
}
}
getStarWarsFilms();
Como esta é uma solicitação GET, podemos simplesmente usar fetch('https://swapi.dev/api/films')
. Observe que usamos await
que apresentei anteriormente. Isso nos permite pausar enquanto a solicitação sai e a resposta retorna.
Nós usamos o response
objeto para determinar se a solicitação foi boa (uma resposta HTTP 200), usando response.ok
.
7. Manipulação de strings
Strings são fundamentais e usadas em todos os tipos de situações. Considere a seguinte string:
const taoTeChingVerse1 =
`The Tao that can be told is not the eternal Tao.
The name that can be named is not the eternal name.
The nameless is the beginning of heaven and earth.
The named is the mother of all things,`;
Digamos que queremos apenas a primeira linha do primeiro verso:
const firstLine = taoTeChingVerse1.slice(0, 48);
Isto diz: Dê-nos a substring entre o primeiro caractere (0) até o 48º caractere, inclusive.
Para pesquisar a primeira ocorrência da palavra “Tao”, digite:
taoTeChingVerse1.indexOf("Tao"); // returns 4
Agora, se você quiser substituir palavras, use uma regex simples. Aqui, substituímos todas as ocorrências de “told” por “spoken”:
const newText = text.replace(/told/g, "spoken");
As barras indicam uma expressão regular, que correspondemos a “told”. O sufixo g
indica “global”, significando todas as ocorrências. O segundo argumento para replace()
é o token para trocar. (Terminamos com “O Tao que pode ser falado não é o Tao eterno.”)
Se precisarmos concatenar duas strings, um simples operador de mais (+) resolverá o problema:
let fullVerse = taoTeChingVerse1 + “Having both but not using them, Think of them as the constant.”);
E você sempre pode contar o comprimento da corda com:
fullVerse.length; // return 261
8. Convertendo objetos JSON em strings
Outra necessidade comum é pegar um objeto JSON real e torná-lo uma string, ou vice-versa. Veja como pegar um objeto JSON ativo e torná-lo uma string:
let website = {
name: “InfoWorld”,
url: “www.infoworld.com”
}
let myString = JSON.stringify(website);
E aqui está como pegar a string e retorná-la a um objeto:
JSON.parse(myString);
9. Operações simples de data
Há muita coisa que você pode fazer (e deve fazer) com o JavaScript integrado Date
objeto.
Para começar, você pode obter a data de hoje assim:
const today = new Date();
E obtenha suas partes constituintes assim:
console.log(today.getFullYear()); // Get the year (e.g., 2024)
console.log(today.getMonth()); // Get the month (0-indexed, e.g., 4 for May)
console.log(today.getDate()); // Get the day of the month (e.g., 21)
console.log(today.getHours()); // Get hours (e.g., 13 for 1 PM)
console.log(today.getMinutes()); // Get minutes (e.g., 27)
console.log(today.getSeconds()); // Get seconds (e.g., 46)
Veja como chegar sete dias no futuro:
date.setDate(date.getDate() + 7);
10. Criar, encontrar e contar números
O JavaScript hoje é muito bom com números. Ele lida nativamente com a maioria dos números e oferece uma biblioteca interna, Math, para poder extra.
Você pode criar números:
let age = 30;
let pi = 3.14159;
let billion = 1000000000;
Ou converter de uma string:
let convertedNumber = Number(“42”);
As operações normais se comportam de maneiras óbvias:
let addition = pi + 3; // addition now equals 6.14159
Você pode arredondar números rapidamente:
Math.ceil(pi); // round to nearest upper integer (4)
Math.floor(pi); // round to lowest int (3)
Encontre o maior número:
Math.max(100, 5, 10, 73); // returns 100
Se você começar com uma matriz, poderá usar o operador de propagação:
let numbers = (100, 5, 10, 73);
Math.max(...numbers); // returns 100
Por fim, veja como verificar a uniformidade:
let isEven = 10 % 2 === 0; // true (checks if remainder is 0)