-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
138 lines (97 loc) · 3.61 KB
/
Copy pathscript.js
File metadata and controls
138 lines (97 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import { saudacao } from './funcoes.js';
import { despedida } from './funcoes.js';
// 1. Declaração de variáveis com let e const
let variavelA = 1;
const variavelB = 1;
console.log(variavelA);
console.log(variavelB);
variavelA = 2;
// variavelB = 2 - A alteração vai apresentar erro por conta de constantes não permitir alteração de valor.
console.log(variavelA);
console.log(variavelB);
// Explicação de VAR, LET e CONST.
/*
VAR: É o jeito antigo de declarar, em que posso declarar uma variável inicialmente e mudar depois, além de declará-la mais de uma vez.
A desvantagem é que não respeita blocos de código ({}), ou seja, se eu usar IF, FOR ou WHILE, ele vai considerar o valor atribuído
em todo o código.
LET: Declara uma variável de forma inicial, posso mudar seu valor a qualquer momento, mas não posso declará-la novamente no mesmo escopo.
A vantagem em relação ao VAR é que posso usar dentro de blocos sem me preocupar que o valor seja refletido fora do bloco.
CONST: É declarado uma única vez e não pode ser alterado. Assim como o LET, posso declarar dentro de um bloco de código,
seguindo o conceito de que a variável só é criada e definida dentro desse bloco ou fora dele.
*/
// 2. Arrow Functions
let numero1 = 2,
numero2 = 3,
resultado = 0;
// Função feito da forma tradicional.
function somar1(a, b) {
return a + b;
}
resultado = somar1(numero1, numero2);
console.log(
`O resultado da soma de ${numero1} + ${numero2} é igual a ${resultado}.`
);
// Reescrevendo a mesma função com arrow function.
const somar2 = (a, b) => a + b;
resultado = somar2(numero1, numero2);
console.log(
`O resultado da soma de ${numero1} + ${numero2} é igual a ${resultado}.`
);
// 3. Template Literals
const name = 'Leonardo';
function saberAHoraBrasilia() {
const horas = new Date().toLocaleTimeString("pt-BR", {
timeZone: "America/Sao_Paulo",
hour: "2-digit",
hour12: false
});
const hour = parseInt(horas);
if (hour >= 6 && hour < 12) return "Bom dia";
if (hour >= 12 && hour < 18) return "Boa tarde";
return "Boa noite";
}
console.log(`${saberAHoraBrasilia()}, ${name}!`);
// 4. Desestruturação (Destructuring)
const pessoa = {
nome: 'Daniel',
idade: 19,
cidade: 'Madre de Deus'
};
const { nome, idade, cidade } = pessoa;
console.log(nome)
console.log(idade)
console.log(cidade)
// 5. Operador Spread e Rest
const numeros = [1, 2, 3, 4, 5];
const copiaNumeros = [...numeros];
console.log("Original:", numeros);
console.log("Cópia do array:", copiaNumeros);
function somarTudo(...numeros) {
let soma = 0;
for (let i = 0; i < numeros.length; i++) {
soma += numeros[i];
}
return soma;
}
const resultados = somarTudo(10, 20, 30, 40);
console.log("Soma dos números:", resultados);
// 6. Classes e Objetos]
class Pessoa {
constructor(nome, idade) {
this.nome = nome;
this.idade = idade;
}
apresentar() {
console.log(`Olá, meu nome é ${this.nome} e eu tenho ${this.idade} anos`);
}
}
const pessoa1 = new Pessoa("Yasminne", 20);
pessoa1.apresentar();
// 7. Módulos (import/export)
const mensagem1 = saudacao("Igor");
const mensagem2 = despedida("Igor")
console.log(mensagem1);
console.log(mensagem2);
/* O EXPORT DEFAULT é usado quando se quer exportar uma única coisa de um arquivo (uma função, classe ou objeto).
Ao importar pode dar qualquer nome a essa importação. */
// O EXPORT NOMEADO é usado para exportar várias coisas do mesmo arquivo. Quem importa precisa usar o mesmo nome.