Olá, Lucas, tudo bem?
O operador ||
retorna o valor de um dos operandos especificados, por exemplo, se tivermos expressão1 || expressão2
, ele irá retornar expressão1
caso possa ser convertido para verdadeiro, senão, retorna expressão2
.
No código feito pelo professor ele está atribuindo um valor para constante tarefas
de forma que, caso exista algum valor em JSON.parse(localStorage.getItem('tarefas'))
, ele será atribuido a tarefas
, mas caso não exista nada, ele irá atribuir []
(vazio) a tarefas
. Ficou claro?
Já os três pontinhos ...
é o operador spread, basicamente, ele serve para que possamos criar um novo array com os elementos já existentes do mesmo array ou de um outro array. No caso de tarefas, nós estamos criando um novo array chamado tarefasAtualizadas
e queremos adicionar as informações existentes no array tarefas
dentro desse novo array junto com as informações de dados
.
Para ficar mais claro imagine que em tarefas temos:
tarefas = ['tarefa1', 'tarefa2']
E em dados temos:
dados = ['tarefa3', 'tarefa4']
E agora queremos juntar as informações de tarefas e as informações da variável dados em um novo array tarefasAtualizadas, então faríamos:
const tarefasAtualizadas = [...tarefas, dados]
E agora em tarefasAtualizadas contém ['tarefa1', 'tarefa2', 'tarefa3', 'tarefa4']
.
Conseguiu entender? Caso tenha ficado alguma dúvida é só perguntar!! =)