No último vídeo, vimos como criar objetos de funções do construtor usando a nova palavra-chave
neste vídeo.
Nós vamos aprender a usar várias funções do construtor sem duplicar o código.
O material aqui será um desafio.
Portanto, certifique-se de ter assistido as séries de vídeos na palavra-chave antes de prosseguir.
Agora vamos imaginar que temos duas funções de construtor uma para um carro e outra para motocicleta.
Aqui está o código para ambos e o que vemos aqui não é nada especial, apenas algumas funções
que constroem objetos usando a nova palavra-chave.
Mas o que não é bom neste código.
Veja quanto código estamos duplicando na função de motocicleta.
Seria realmente bom se pudéssemos de alguma forma emprestar o código da função do cartão e colocá-lo
na função da motocicleta.
Então você pode estar pensando por que não chamamos a função do carro dentro da função da motocicleta.
O problema aqui é quando chamamos a função do carro a palavra-chave que se refere ao objeto que será criado
a partir da função do carro.
Mas essa é a coisa errada.
O que precisamos fazer aqui é mudar o valor da palavra-chave para ser o objeto criado a
partir da função do ciclo do motor.
Então, como podemos alterar o valor da palavra-chave.
Isso retornamos à nossa terceira regra de descobrir o valor da palavra-chave com ligação explícita.
Isso significa que queremos usar a chamada, aplicar ou ligar, podemos descartar usando bind porque não queremos retornar
uma definição de função, então vamos escolher chamar ou aplicar.
Melhor ainda, vamos olhar para ambos e ver qual deles pode ser uma escolha melhor como aviso.
O código que eu vou mostrar pode ser bastante confuso no início.
Então, sinta-se livre para interromper o vídeo, tente lê-lo primeiro e coloque-o no console cromado para ver exatamente
o que está acontecendo.
Portanto, a função do carro parece ser a mesma, mas as coisas divertidas estão acontecendo na função da motocicleta em
vez de duplicar o código da função do carro.
Nós invocamos a função do carro, mas alteramos o contexto da palavra-chave para ser a palavra-chave.
O que isso significa.
Bem, pense em nosso problema antes, quando não usamos chamada, perdemos o contexto correto da
palavra-chave.
Este é o valor certo da palavra-chave.
Este deve ser qualquer objeto que esteja sendo criado a partir da função da motocicleta.
Quando a nova palavra-chave é usada, a maneira como acessamos esse objeto é usando a palavra-chave dentro
da função de motocicleta.
Isso é bastante confuso.
Então vamos tentar entender de novo.
Queremos remover a duplicação da nossa função de motocicleta.
fazendo é emprestar o código da função do carro chamando-o dentro da função do ciclo do motor.
Então, o que estamos
O problema aqui é que a palavra-chave dentro da função de carro não é a palavra-chave
que queremos usar.
Então, precisamos alterar o valor da palavra-chave para fazer isso, usamos o chamador.
E como o primeiro parâmetro para chamar ou aplicar, especificamos o que gostaríamos que o valor da
palavra-chave fosse o valor que queremos.
A palavra-chave a ser é o objeto que será criado a partir da função de motocicleta.
A maneira como acessamos esse objeto é usando a palavra-chave dentro da função de motocicleta.
É por isso que o primeiro argumento para chamar ou aplicar é a palavra-chave que se refere ao objeto criado a
partir da função da motocicleta.
Quando a nova palavra-chave é usada se você ainda estiver tropeçando nisso, não se preocupe.
Estamos fazendo um javascript bastante avançado aqui.
Faça uma pausa no vídeo e tente estes exemplos de código.
E, como sempre, pergunte-nos quaisquer perguntas para que possamos usar chamadas ou aplicar.
uma matriz de argumentos que são passados ​​para a função para que possamos colocar o modelo de
marca e o ano em uma matriz ou podemos fazer uso de outra palavra-chave especial os argumentos palavra-chave.
Mas lembre-se que a única diferença é o segundo parâmetro com aplicar o segundo parâmetro a aplicar é
Você pode ter visto argumentos antes, mas se argumentos não é uma lista de todos os argumentos que são
passados ​​para uma função, não é tecnicamente uma matriz.
Mas para nossos propósitos, você pode pensar nisso como um por agora, aqui é um exemplo rápido usando a matriz de argumentos.
Eu vou fazer uma função chamada argumentos de lista que retornará os argumentos passados ​​para a função.
Agora vamos chamar os argumentos da lista com um dois e três.
Veremos que recuperamos uma série de argumentos passados ​​para essa função.
Agora, em nosso exemplo, podemos usar a matriz de argumentos em vez de listar.
Faça modelo e ano.
Coloca um refator muito legal.
Nós passamos de copiar e colar três linhas de nossa função de carro para emprestar a função do
carro mudando o contexto da palavra-chave e passando em qualquer argumento para essa função no próximo vídeo.
Vamos recapitular o que aprendemos sobre as funções do construtor e a nova palavra-chave.
Veja ou