Pesquisar neste blog

17/07/2020

Getters e Setters em JavaScript

//get para ler e set para alterar o valor de uma variável
const sequencia = {
    _valor: 1//convenção, variavel acessível apenas internamente
    get valor(){return this._valor++},//função em cima de um valor
    set valor(valor){
        if(valor > this._valor){
            this._valor = valor
        }
    }

}

console.log(sequencia.valorsequencia.valor);
sequencia.valor = 1000
console.log(sequencia.valorsequencia.valor);
sequencia.valor = 900
console.log(sequencia.valorsequencia.valor);


16/07/2020

Objetos constantes em JavaScript

//pessoa aponta ->123 ->{...}
const pessoa = {nome: 'João'}
pessoa.nome = 'Pedro'
console.log(pessoa);

//pessoa aponta para novo objeto(endereço)
//pessoa = {nome: 'Ana Paula'}

Object.freeze(pessoa)//está congelando objeto pessoa, não consegue + mexer em pessoa
pessoa.nome = 'Jenifer'
pessoa.end = 'Rua ABC'
delete pessoa.nome

console.log(pessoa.nome);
console.log(pessoa);

//objeto constante, nenhuma constante ou objeto pode ser mudado
const pessoaConstante = Object.freeze({nome: 'João'})//objeto não pode ser mudado
pessoaConstante.nome = 'MARILENE'//testando novo nome
console.log(pessoaConstante);


15/07/2020

Novos Objetos em JavaScript

//usando a notação literal, método 1
const obj1 = {}
console.log(obj1);

//Object em JS
console.log(typeof Object);//função
console.log(typeof Objecttypeof new Object);//função construtora

//Novo objeto, método 2
const obj2 = new Object('Aline')//ou new Object
console.log(obj2);

//funções construtoras
function Produto(nomeprecodesconto) {
    this.nome = nome //atributo público
    this.getPrecoComDesconto = () =>{//privado dentro da função
        //vísivel fora da instancia
        return preco * (1desconto)
    }
}

const p1 = new Produto('Caneta',7.99,0.15)
console.log('\nP1\n',p1);

const p2 = new Produto('Notebook',25000.25)
console.log('\nP2\n',p2);

console.log();
console.log(p1.getPrecoComDesconto(), p2.getPrecoComDesconto);

//função Factory
function novoFuncionairo(nomesalarioBasefaltas) {
    return{
        nome,
        salarioBase,
        faltas,
        getSalario(){
            return (salarioBase/30) * (30 - faltas)
        }
    }
}

const f1 = novoFuncionairo('João'79804)
const f2 = novoFuncionairo('Alinee',114001)
console.log('Salário Líquido de f1 = ',f1.getSalario(),'R$');
console.log('Salário Líquido de f2 = ',f2.getSalario(),'R$');

//método 3
const filha = Object.create(null)
filha.nome = 'Gabriele Santos'
console.log('\n',filha);

//Uma Função que retorna um objeto
const fronJSON = JSON.parse('{"info": "Sou um JSON"}')//converte o texto em 1 objeto e inseriu na variável fronJSON
console.log(fronJSON.info);




















Palavras chave:

Nouveaux objets JavaScript
كائنات جافا سكريبت جديدة
Νέα αντικείμενα JavaScript
Nuovi oggetti JavaScript
Новые объекты JavaScript
Nové objekty JavaScriptu
Nya JavaScript-objekt
Bag-ong Mga butang sa JavaScript
אובייקטים חדשים של JavaScript
Новыя аб'екты JavaScript

Objeto em JavaScript


//Objeto é coleção dinâmica de pares chave/valor
const produto = new Object
produto.nome = 'Cadeira'
console.log(produto);//imprimi tudo de objeto
console.log(produto.toLocaleString());
produto['Marca do produto'] = 'Generico'
produto.preco = 220

console.log(produto);
console.log(produto.preco);//acessa o preço do produto

delete produto['Marca do produto']//deletando um atributo
console.log(produto);

const carro = {
    //atributos
    modelo: 'Golf',
    valor: 50000,
    proprietario:{//par chave valor que tem outros atributos
        nome: 'Raul',
        idade: 50,
        endereco: {
            logradouro: 'Rua A',
            numero: 77
        }
    },
    condutores:[{//atributo com array par chave e valor
        nome: 'Ana Paula',
        idade: 34
    },{
        nome: 'Aline Queiroz',
        idade: 32
    }],
    calcularValorSeguro: function(){
        //... uma função qualquer aqui
    }
}

carro.proprietario.endereco.numero = 100//nome do atributo que deseja acessar
carro['proprietario']['endereco']['logradouro']
console.log(carro);

delete carro.condutores //deletando tudo de atributo condutores
delete carro.proprietario.endereco//deletando  atributo endereco de proprietário

console.log();
console.log(carro);

delete carro.condutores
delete carro.proprietario.endereco
delete carro.calcularValorSeguro
console.log(carro);

console.log(carro.condutores);//foram excluídos, irá undefined
console.log(carro.proprietario.length);//tamanho desse array



14/07/2020

Call & Apply em JavaScript

function getPreco(imposto = 0moeda'R$') {
    return `${moeda} ${this.preco = (1 -this.desc) * (1 + imposto)}`
}

const produto = {
    nome: 'Ventilador',
    preco: 8090,
    desc: 0.15,
    getPreco
}
global.preco = 20
global.desc = 0.1
console.log(getPreco());
console.log(produto.getPreco());

// do call e apply
const carro = {preco: 7788desc: 0.20}
console.log('\n',carro);
console.log(getPreco());
console.log(getPreco.call(carro));

//appy
console.log('\n',getPreco.apply(carro));

console.log(getPreco.call(carro0.17"$"));
console.log(getPreco.apply(global, [0.17],'$'));//apply dentro de um array




Classe vs Funcão Factory em JavaScript

class Pessoa{
    constructor(nome){
        this.nome = nome//torna publico
    }

    falar(){
        console.log('1- Meu nome é: ',this.nome);
        console.log(`2- Meu nome é: ${this.nome}`);
    }
}
const p1 = new Pessoa('João')
p1.falar()
console.log(p1);//imprimindo o objeto



Função Factory em JavaScript

//Factory é uma função que retorna um objeto
function Pessoa() {
    return{
        nome: 'Karolayme meu AMOR',
        sobrenome: 'Silva'
    }
}

console.log(Pessoa());

function Produto(nomepreco) {
    return {
        nome,
        preco
        desconto: 0.1//caso não passe nenhum valor
    }
}

console.log(Produto('Notebook',2500));
console.log(Produto('iPad',1575.7));


Closures em JavaScript

//Closure é  o escopo criado quando uma função é declarada
//Esse escopo permite a função acessar e manipular variáveis

//Contexto léxico em ação!
const x = 'Global'

function fora() {
    const x = 'Local'
    function dentro() {
        return x;
    }
    return dentro
}

console.log(fora());

const minhaFuncao = fora()
console.log(minhaFuncao());//acessa o funcao da variavel local




13/07/2020

Tipos de declaração em JavaScript

//função declarativa
console.log(soma(34));
//console.log(mult(4,5));//exibe erro pois executa do tipo topDow
function soma(xy) {
    return x + y
}

//função expressiva
const sub = function(xy){
    return x - y;
}

//nome de function expressiva
const mult = function mult(xy){
    return x + y;
}
console.log(mult(3,7));//a partir daqui executa



Funções construtoras em JavaScript

function Carro(velocidadeMax = 200delta = 5) {
    let velocidadeAtual = 0

    //método público
    this.acelerar = function(){
        if (velocidadeAtual + delta <= velocidadeMax) {
            velocidadeAtual += delta
        }else{
            velocidadeAtual = velocidadeMax
        }

    }
    this.getVelocidadeAtual = function(){ //permite o acesso por essa função
        return velocidadeAtual;
    }
}

const uno = new Carro
//const uno = new Carro()
uno.acelerar()
console.log(uno.getVelocidadeAtual());

const ferrari = new Carro(35020)
ferrari.acelerar()
ferrari.acelerar()
ferrari.acelerar()
console.log(ferrari.getVelocidadeAtual());

console.log(typeof Carro);//retorna como uma função
console.log(typeof ferrari);//retorna como um objeto


12/07/2020

Função CallBack 2 em JavaScript

//objetivo: selecionar todas as menores que 7
const notas = [7.78.36.55.28.93.67.19.8]
//sem callback
let notasBaixas1 = []//vetor
for(let i in notas){
    if(notas[i] < 7){
        notasBaixas1.push(notas[i])
    }
}
console.log('Método 1:');
console.log(notasBaixas1);

//com Callback
notasBaixas2 = notas.filter(function(nota){
    return nota < 7
})
console.log('\nMétodo 2:');
console.log(notasBaixas2);

const notasBaixas3 = notas.filter(nota => nota < 7)
console.log("\nMétodo3: \n",notasBaixas3);


Função Callback em JavaScript

const fabricantes = ["Mercedes","Audi","BMW"];

function imprimir(nomeindice) {
    console.log(`${indice + 1}${nome}`);
}

fabricantes.forEach(imprimir)
console.log();
fabricantes.forEach(fabricante => console.log(fabricante))











Função anônima em JavaScript

const soma = function(xy){
    return x + y;
}

const imprimiResultado = function(aboperacao = soma){
    console.log(operacao(ab));
}

imprimiResultado(34)
imprimiResultado(34soma)
imprimiResultado(35function(xy){
    return x - y
})

imprimiResultado(34,(x,y)=> x * y)

const pessoa = {//Função anônima dentro de um objeto
    falar(){
        console.log('Olá JavaScript');
    }
}
pessoa.falar()

const teste = {
    fale: function(){
        console.log('Olá blog da engenhariaCotidiana');
    }
}
teste.fale()











Palavras chave:

Anonim JavaScript işlevi
Anonym JavaScript-funktion
Anonyymi JavaScript-toiminto
د جاواسکریټ نامعلوم فعالیت
Anonimowa funkcja JavaScript
Функция анонимного JavaScript
Ανώνυμη συνάρτηση JavaScript
وظيفة جافا سكريبت مجهولة
Fonction JavaScript anonyme

Funções Arrow em JavaScript

let comparaComThis = function(param){
    console.log(this === param);
}

comparaComThis(global)//escopo global

const obj = {}//objeto
comparaComThis = comparaComThis.bind(obj)
comparaComThis(global)
comparaComThis(obj)//aponta para objeto dentro bind

let comparaComThisArrow = param => console.log(this === param);
comparaComThisArrow(global)
comparaComThisArrow(this)
comparaComThisArrow(module.exports)

comparaComThisArrow = comparaComThisArrow.bind(obj)
comparaComThisArrow(obj)

Função arrow em JavaScript

function Pessoa() {
    this.idade = 0

    //contexto léxico
    setInterval(() =>{//temporizador
        this.idade++
        console.log(this.idade);
    }, 1000)
}

new Pessoa


Função arrow 01 em JavaScript

//Função arrow, forma mais reduzida
let dobro = function(a){
    return 2 * a
}

dobro = (a=> {
    return 2 * a
}

dobro = a => 2 * a//retorna implícito
console.log(dobro(Math.PI));//dobro de Pi

let ola = function () {
    return 'Olá'
}

ola = () => 'JavaScript'
console.log(ola());

ola = _ => 'Teste de Arrow'//possui parametro
console.log(ola());




"this" e a função bind em JavaScript

function Pessoa() {
    this.idade = 0

    const self = this//constante não vai mudar nunca

    setInterval(function() {
        this.idade++
        console.log(this.idade);
    }.bind(this), 1000)//para amarrar com this que aponta para pessoa
}

new Pessoa


















e assim continuando ...

Palavras chave

"това" и функцията за свързване в JavaScript
"cái này" và hàm liên kết trong JavaScript
"זה" ופונקציית ה- bind ב- JavaScript
"this" and the bind function in JavaScript
"энэ" болон JavaScript дахь bind функцийг ашиглана уу
"iki" lan fungsi ikat ing JavaScript
"tämä" ja sidontafunktio JavaScript: ssä
"detta" och bindningsfunktionen i JavaScript
JavaScript'te "this" ve bind işlevi

"this" e a função bind em JavaScript

const pessoa = {
    saudacao: 'Bom dia',
    falar(){
        console.log(this.saudacao);
    }
}

pessoa.falar()
const falar = pessoa.falar
falar()//conflito entre a programção orientada a objeto e paradigmas

const falarDePessoa = pessoa.falar.bind(pessoa)//objeto passou para a função bind
falarDePessoa()









Palavras chave:

"šī" un saistīšanas funkcija JavaScript
"detta" och bindningsfunktionen i JavaScript
„this” i funkcja bindowania w JavaScript
"dette" og bindingsfunksjonen i JavaScript
"זה" ופונקציית ה- bind ב- JavaScript
"cái này" và hàm liên kết trong JavaScript
"това" и функцията за свързване в JavaScript

10/07/2020

Parâmetro padrão em JavaScript

//estratégia 1 para gerar valor padrão
function soma1(abc) {
    a = a || 1
    b = b || 1
    c = c || 1
    return a + b + c
}

console.log(soma1(),soma1(5), soma1(123), soma1(0,0,0));

//estatégia 2, 3 e 4 para gerar valor padrão
function soma2(abc) {
    a = a !== undefined ? a : 1//(extritamente diferente)se a for diferente de indefined vai assumir valor 1
    b = 1 in arguments ? b : 1//dentro de a existe o valor 1 ? se existir pegue o valor de b, senão pega o valor 1
    c = isNaN(c) ? 1 : c//se não for um número, pega um valor padrão, caso seja um número retorno o valor de c

    return a + b + c
}
console.log(soma2(), soma2(5), soma2(1,2,3), soma2(0,0,0));

//valor padrão do 2015
function soma3(a=1b=1c=1) {
    return a + b + c
}
console.log(soma3(), soma3(1), soma3(1,23), soma3(0,0,0));










Palavras chave:

Tham số mặc định trong JavaScript
जावास्क्रिप्ट में डिफ़ॉल्ट पैरामीटर
פרמטר ברירת מחדל ב- JavaScript
Standard parameter i JavaScript
Parametro predefinito in JavaScript
Výchozí parametr v JavaScriptu
Параметр по умолчанию в JavaScript
Domyślny parametr w JavaScript
Standardparameter i JavaScript
Noklusējuma parametrs JavaScript

01/07/2020

Função com parâmetros em JavaScript

function soma() {
    let soma = 0
    for (i in arguments) {
        soma += arguments[i]
    }
    return soma
}
console.log(soma());
console.log(soma(1));
console.log(soma(1.12.23.3));
console.log(soma(5.510.7'Teste'));
console.log(soma('a','b','c'));


Função em JavaScript

function area(larguraaltura) {
    const area = largura * altura
    if (area > 20) {
        console.log('Valor acima do esperado: ',area);
    }else{
        return area;
    }
}
console.log(area(2,5));
console.log(area(2));
console.log(area());
console.log(area(2,3,17,22));
console.log(area(5,5));


Função em JavaScript

//função de forma literal
function func1() {}

//armanear em uma variável
const fun = function(){}

const array = [function(a,b){
    return a + b
}, func1fun]

console.log(array[0](23));

//Armazenar em um atributo de objeto
const obj = {}
obj.falar = function(){return 'Olá Mundo !'}
console.log(obj.falar());

//passar função como parâmetro
function run(fun){
    fun()
}
run(function() {console.log('Executando ...');
})

//Função pode retornonar/ conter uma fução
function soma(a,b,c) {
    return function (c){
        console.log(a + b + c);
    }
}

soma(23,)(4)//chamando a função soma
const cincoMais = soma(2,3)//armazena em uma constante
cincoMais(10)


break/continue em JavaScript

const num = [1,2,3,4,5,6,7,8,9,10]

for(x in num){
    if(x == 5){
        break//para se encontrar o 5
    }
    console.log(`${x} = ${num[x]}`);
}

console.log();

for (y in num) {
    if (y == 5) {
        continue//continua ao encontrar o 5
    }
    console.log(y,'= ',num[y]);
}
console.log();

//rótulo
externofor(a in num){
    for(b in num){
        if(a == 3 && b == 3break externo
        
        console.log(`Par = ${a}${b}`);
        
    }
}



FOR/IN em JavaScript

const notas = [6.77.49.8107.7]

for(i in notas){
    console.log(i,'='notas[i]);
    
}

const pessoa = {
    nome: 'Ana',
    sobrenome: 'Silva',
    idade: 30,
    peso: 77
}

console.log();

//passando o atributo de uma pessoa
for(atributo in pessoa){
    console.log(`${atributo} = ${pessoa[atributo]}`); 
}