Olá,
Olhando a documentação javascript da função map está descrito assim :
Array.prototype.map()
- o que significa o prototype ?
E na descrição da função:
var new_array = arr.map(callback[, thisArg])
- o que significa o callback ?
Olá,
Olhando a documentação javascript da função map está descrito assim :
Array.prototype.map()
- o que significa o prototype ?
E na descrição da função:
var new_array = arr.map(callback[, thisArg])
- o que significa o callback ?
Quando você lê Array.prototype.map
é a mesma coisa que "Todo array (Array) possui a função map". Prototype é a propriedade de que todo objeto JavaScript possui na qual tudo o que for adicionado nela você quer que esteja disponível em todos os objetos.
Callback é a mesma coisa que função, no caso, uma função que você passa para ser chamada depois. Toda vez que ver callback ou cb, você já sabe que é uma função.
Então prototype é equivalente ao conceito de herança do java? Tem como eu alterar a propriedade prototype de um array ?
Tem como alterar a propriedade Prototype de qualquer construtor function.
No curso de JavaScript avançado, quando eu falar de classe e herança, se não me engano, eu mostro em um exercício como isso é feito em ES5.
Prototype tem uma relação com reuso de código, mas eu entendo quando você faz analogia à herança em Java. Pode fazer essa analogia, mas são duas estratégias complemente diferente utilizadas para reuso de código.
Em ES2015 (ES6) quando você usa extends
por debaixo dos panos ele esta usando a sintaxe de prototype para adicionar as funcionalidades.
Obrigado pelas explicações.
Tranquilo. Faz uma brincadeira ai. Abra seu console e faça isso:
var nome = "Elton"; // criou uma variável
String.prototype.grita = () => alert('oi'); // adicionou um método no prototype
nome.grita(); // mesmo que a variável tenha sido criada antes, quando colocamos algo no prototype, todas as instâncias ganham
Sucesso e bom estudo!