Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo object

JS - Métodos de objeto

Nesse post veremos alguns métodos interessantes de objetos do Javascript, que nos permitem manipular propriedades, verificar a herança, transformar um objeto em texto e converter um texto em objeto. Object.keys Cria um "array" com os nomes das propriedades de um objeto: var animal = { nome: 'Totó', idade: 12}; var propsAnimal = Object.keys(animal); Object.isPrototypeOf Indica se um objeto é um protótipo de outro, ou seja, se um objeto (parâmetro do método) herda características de outro (usando o método): var cachorro = Object.create(animal); cachorro.buscaGraveto = true; cachorro.isPrototypeOf(animal); animal.isPrototypeOf(cachorro); JSON.stringify Transforma um objeto em texto: var animalTxt = JSON.stringify(animal); JSON.parse  Transforma uma string (JSON) em um objeto: var outroAnimal = JSON.parse(animalTxt); JSON JSON (JavaScript Object Notation - Notação de Objetos JavaScript) é uma formatação leve de troca

JS - Criação de objetos

A algum tempo já estamos usando objetos, porém nesse post veremos mais alguns detalhes sobre objetos e formas de cria-los. Mutáveis  Objetos no Javascript são mutáveis, ou seja, é possível alterar valores de suas propriedades, remover propriedades existentes, ou mesmo adicionar outras propriedades: var pessoa = { nome: 'Eduardo', idade: 17 }; pessoa.idade = 27; delete pessoa.idade; pessoa.idade = 37; Manipulados por referencia Se criarmos um objeto por meio da atribuição de um objeto existente teremos uma referencia, isso significa que ao mudar propriedades ou valores em um dos objetos teremos como resultado a alteração em ambos: var copiaPessoa = pessoa; pessoa.idade = 47; copiaPessoa.idade = 57; delete pessoa.idade; copiaPessoa.idade = 37; Criando objetos Agora as formas de se criar um objeto: De forma Literal Forma utilizada até agora, onde já atribuímos o objeto e suas propriedades a uma variável: var carro = {mod

JS - typeof

Operador unário que consegue nos dizer qual é o tipo de dados de uma variável, logo, ao testar com o "typeof" cada tipo de dados temos como resultado: Valores primitivos typeof undefined => undefined typeof true => boolean typeof 99 => number typeof NaN => number typeof 'Teste' => string Objetos diferentes de funções typeof {} => object typeof [] => object typeof null => object (aqui temos um conhecido erro de implementação do Javascript) Funções typeof functio() {} => function Exemplos Como vimos o "typeof" não é indicado para testar valores do tipo "object", "array" e "null", já que todos eles nos retornam "object", por isso é mais comum utiliza-lo com os tipos primitivos referentes a número, texto e booleano: (typeof 1234); (typeof 1234 ? 'Número' : '?'); (typeof 'Xisto'); (typeof 'Xisto' ? 'Texto' : &#

JS - Wrapper objects

Anteriormente, realizamos uma reflexão simples para definir o que era objeto e o que não era, basicamente listamos todos os tipos primitivos ("string", "number", "boolean", etc.) e falamos que, tudo aquilo que não era tipo primitivo era um objeto. Pois bem, uma outra característica marcante é que objetos podem possuir propriedades e métodos, enquanto tipos primitivos não, mas se pararmos para observar percebemos algo diferente, por exemplo, se criarmos uma variável do tipo "string" conseguimos acessar algumas propriedades/métodos além do valor, e é ai que entra o conceito de "wrapper objects". Podemos pensar em "wrapper" como envolver ou empacotar, logo, assim que tentamos acessar um propriedade (ou método) de um tipo primitivo como o "string" (isso também ocorre para "number" e "boolean") o Javascript cria um objeto em memória, realiza a ação solicitada (seja o retorno do valor de uma pr

JS - Introdução a programação funcional

Em resumo, programação funcional é o paradigma de programação baseado em funções e suas características que evita estados ou dados mutáveis. Para trabalhar nesse paradigma a linguagem deve possuir algumas características: Funções são objetos de primeira classe As funções são tratadas como objetos, ou seja, tudo que é possível fazer com objetos também pode ser feito com funções. Um objeto literal var pessoa = { nome: 'Eduardo', sexo: 'Masculino'} Uma função literal function soma(a, b) { return a + b; } Atribuição de um objeto var carro = {}; Atribuição de uma função var func = function func() {}; Uma função pode retornar um objeto Permite que e as propriedades desse objeto possam ser acessadas a partir da execução da função: function recuperarCarro() {   return { marca: 'Fiat', modelo: 'Palio'   } } recuperarCarro().marca; Uma função pode retornar outra função Permite a execução de uma função

JS - Funções - retornos e parâmetros com arrays e objetos

Vimos no post sobre funções que uma função pode possuir parâmetros e retornar valores, e na ocasião trabalhamos apenas com tipos primitivos da linguagem, e hoje veremos como receber e retornar arrays e objetos. Retorno Uma função que retorna um tipo mais complexo como um array ou um objeto pode nos ajudar, dentre outras coisas, a evitar a declaração de variáveis globais, também pode diminuir a complexidade de uma operação, vejamos alguns exemplos: function nomes() { return ['maria', 'teresa', 'flávia']; }; (essa rotina nos retorna uma lista de nomes); nomes()[1]; (como o retorno é um array conseguimos acessar um elemento conhecido por meio de seu indice); function recuperarPessoa() { var pessoa = { nome: 'Filisteu', idade: 89, sobre: function(){ return pessoa.nome + ', ' +  pessoa.idade + ' anos'} }; return pessoa; }; (essa rotina retorna um objeto, sendo que esse objeto possui propriedades e métodos); recuperarPessoa().n

JS - Tipos de dados e objetos

Iniciaremos nesse post a ver o que são e como são construídos os objetos no Javascript, devemos ter em mente que os objetos em geral refletem um objeto da vida real, possuindo propriedades e comportamentos que o descreve. Tipos primitivos Os tipos primitivos são os já vistos até aqui, fornecidos pela própria linguagem: number, números inteiros ou decimais; string, texto contido entre '' ou ""; boolean, true ou false; null, sem valor atribuído; undefined, desconhecimento de valor; Tipo objeto Tudo o que não for um um tipo primitivo é um objeto, vamos a alguns exemplos: { prop1: 1, prop2: 'Teste' } (objeto anonimo contendo duas propriedades); meuObjeto = { cod: 100, nom: 'abcd', tip: true} (objeto chamado "meuObjeto" tres propriedades); meuObjeto.cod (acessando diretamente o valor da propriedade "cod" do objeto "meuObjeto"); var obj = function() {return 'Funcao anonima'}; (objeto "obj&quo

JS - Variáveis e tipos de dados

Antes de mais nada precisamos ter em mente que uma variável é uma área em memoria capaz de armazenar por tempo determinado um valor, sendo que esse valor pode ser de diferentes tipos, de acordo com a necessidade da aplicação. As variáveis são identificadas por um nome, sendo por meio desse nome que os valores são manipulados. Agora que temos uma ideia do que vem a ser uma variável vamos começar a testar, como dito anteriormente, nossas variáveis podem ter tipos específicos e no Javascript realizamos essa declaração a partir da atribuição do valor, ou seja, ao colocar um valor em uma variável estamos dizendo que essa variável é do mesmo tipo do valor sendo atribuído, logo, quando atribuímos um numero para uma variável essa passa a ser do tipo numérico. Agora aos exemplos (na duvida de como testar, veja aqui uma opção simples), primeiro iremos declarar uma variável: Se analisarmos a imagem anterior vemos a palavra reservada "var", que é quem indica a criação d