Uma boa maneira para entender as permissões no Linux é ter contato com elas utilizando o comando ls -lh
.
Ao usar o comando, o output será algo como:
-rw-r--r-- 1 usuario grupo 12K mai 20 00:00 file.txt
Cópia superficial e cópia profunda são dois assuntos presentes no cotidiano de programadores de linguagens como C e C++, mas que talvez não tenham tanta recorrência para os programadores JavaScript.
Shallow Copy
Em uma explicação rápida, a cópia superficial tem por objetivo copiar objetos fazendo com que propriedades primitivas de alto nível tenham referências diferentes.
Se algo primitivo for alterado no mais alto nível do objeto copiado não fará nenhuma diferença para a cópia.
Deep Copy
Ja a cópia profunda não mantém nenhum tipo de referência entre o objeto copiado e a sua cópia.
Em outras palavras, tanto para propriedades primitivas de alto nível, como para outros objetos aninhados, a referência nunca será a mesma.
Snippets in Visual Studio Code podem aumentar significativamente a sua produtividade.
Veja um exemplo.
Considere a função:
// sum.js
export function sum(...params) {
return params.reduce((p, c) => (+p || 0) + (+c || 0), 0)
}
Este é um breve resuminho demonstrando as principais formas de obter as propriedades de um objeto, algo bem simples mas com alguns detalhes bem legais.
Característica | Object.getOwnPropertyNames | Object.keys | for...in |
---|---|---|---|
Enumerável | ☑️ | ☑️ | ☑️ |
!Enumerável | ☑️ | - | - |
Herança | - | - | ☑️ |