Vamos ver se tu manja mesmo de JS, ein... O teste terá um tempo determinado e só pode ser feito uma vez por pessoa. Então fique atento(a) e boa sorte!
Ah, gostou do teste? Te desafio a não curtir essas vagas também... Link: http://bitly.ws/abv2
10
Que tipo de informação seria registrada?
11
Qual a alternativa correta?
Explicação
Dentro da função, nós declaramos nome usando var. Isso significa que a variável é elevada (hoisted) (o espaço na memória é separado durante a fase de criação) com o valor padrão undefined, até que chegue na linha onde definimos a variável. Ainda não definimos a variável na linha onde tentamos loggar o valor da variável nome, portanto ela ainda tem o valor undefined. Variáveis com a palavra-chave let (e const) são elevadas, mas diferente de var, não são inicializadas. Elas não acessíveis antes da linha em que as declaramos (ou inicializamos). Esse é um conceito chamado de 'temporal dead zone'. Quando tentamos acessar essas variáveis antes de serem declaradas, o JavaScript lança um ReferenceError.
O operador unário + tenta converter um operando para um número. true é 1, e false é 0. A string 'nata.house' tem valor truthy. O que estamos realmente perguntando é 'Esse valor truthy é falsy?'. Isso retorna false.
No JavaScript, todos os objetos interagem por referência ao defini-los iguais entre si, ocupando o mesmo espaço de memória. Quando você altera um objeto, altera todos eles.
JavaScript é uma linguagem dinamicamente tipada. Valores podem ser automaticamente convertidos em outro tipo sem você saber, o que é chamado de coerção implícita de tipo. Coerção é converter um tipo em outro. Nesse exemplo, JavaScript converte 1 em string, para que a função faça sentido e retorne um valor. Durante a adição de um tipo numérico (1) e uma string ('2'), o número é tratado como uma string. Podemos concatenar strings como 'Hello' + 'World', então o que está acontecendo aqui é '1' + '2' que retorna '12'.
Se você tiver duas chaves com o mesmo nome, a chave será substituída. Ele ainda estará em sua primeira posição, mas com o último valor especificado.
typeof 1 retorna 'number'. typeof 'number' retorna 'string'.
null é falsy. !null retorna true. !true retorna false. '' é falsy. !'' retorna true. !true retorna false. 1 é truthy. !1 retorna false. !false retorna true.
Uma string é iterável. O operador de spread mapeia todos os caracteres de um iterável para um elemento.
Um módulo importado é read-only: você não pode modificá-lo. Somente o módulo que os exporta pode alterar seu valor. Quando tentamos aumentar o valor do myCounter, geramos um erro.
O valor de res no segundo .then é igual ao valor retornado do .then anterior. Você pode continuar encadeando .thens assim, onde o valor é passado para o próximo manipulador.
openSource[nata.password] primeiro avalia nata.password, que é 'colaboration'. openSource['colaboration'] retorna true Por outro lado, com a notação de ponto ., isso não acontece. openSource não tem uma chave chamada nata, o que significa que openSource.nata é undefined. Então, pedimos pelo password usando a notação de ponto: openSource.nata.password. Uma vez que openSource.nata é undefined, estamos realmente pedindo undefined.password. Isso não é válido, e irá gerar um erro similar a Cannot read property 'password' of undefined
new Number() é uma função construtora padrão do JavaScript. Ainda que parece com um número, não é realmente um número: Tem um monte de funções extras e é um objeto. Quando usamos o operador ==, só conferimos se ambas tem o mesmo valor. Ambas tem o valor de 3, então retorna true. Contudo, quando usamos o operador ===, ambos valor e tipo tem de ser o mesmo. E não são: new Number() não é um número, é um objeto.
Quando erramos a digitação de natahouse como natahuse, o interpretador do JavaScript viu isso como global.natahuse = {} (ou window.natahuse = {} em um navegador). Para evitar esse comportamento, podemos usar 'use strict'. Isso garante que você tenha declarado uma variável antes de poder inicializá-la com algum valor.
O operador unário no sufixo ++: Retorna o valor (retorna o valor 0) Incrementa o valor (prs agora é 1) O operador unário prefixo ++: Incrementa o valor (prs agora é 2) Retorna o valor (Retorna o valor 2) Isso retorna 0 2 2.
|