3

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

 2 years ago
source link: https://dev.to/urielsouza29/peculiaridades-do-js-que-nao-sao-erros-nem-esquisitice-3c40
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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 modeExit 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 modeExit 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK