DEV Community

Uriel dos Santos Souza
Uriel dos Santos Souza

Posted on • Updated on

Peculiaridades do JS. Que não são erros! Nem esquisitice! - Objetos

JS é uma linguagem interessante!

Além das coisas já bem conhecidas(espero)!
Que funções são valores!
O fato de funções serem tratadas como valores!
Funções serem cidadãos de primeira classe! Entre outras coisas da parte funcional do JS!

Mas hoje quero mostrar algo sobre que tudo no JS é objeto!

function teste(){}

teste['testeinterno'] = 'oi'
console.log(teste.testeinterno) // 'oi'

for(chave in teste){
  console.log(chave) 
}
//"testeinterno"


Enter fullscreen mode Exit fullscreen mode

Colocamos uma propriedade na função?
Como assim?
Isso acontece pq tudo no JS é objeto.
Inclusive uma função!
E como um bom objeto no JS você pode colocar propriedades nele!
Não é um erro! Nem uma esquisitice.

Vamos ver um array! Que é um objeto :P

const arr = ['testar', '09']
//array normal! 

arr['oi'] = 'neh'
arr[1.5] = 'hello'
arr[-1] = 'bah'
// como ele é objeto! Podemos por propriedades //e valores!

for(chave in arr){
  console.log(chave) 
}
//"0" "1" "oi" "1.5" "-1"

console.log(arr) // ["testar", "09"]
console.log(arr.oi) // 'oi'
console.log(arr[-1]) // 'bah'

console.log(arr[-1] + arr[1.5]) //"bahhello"

Enter fullscreen mode Exit fullscreen mode

Isso e outras coisas podem aparecer pra você em algum momento!
Por enquanto é isso!
Em breve quero escrever mais textos sobre isso e complementar este!
Brinque no JSBIN

https://jsbin.com/fuxazuniqo/1/edit?js,console

https://www.youtube.com/watch?v=n5uiJr-v0KQ
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Working_with_Objects

Top comments (0)