Icon New game New game

Você é bom mesmo em JS?

Quiz

(11)
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

Download the paper version to play

13 times made

Created by

Brazil

Top 10 results

  1. 1
    07:28
    time
    78
    score
  2. 2
    06:52
    time
    71
    score
  3. 3
    07:22
    time
    71
    score
  4. 4
    07:56
    time
    71
    score
  5. 5
    08:54
    time
    71
    score
  6. 6
    07:30
    time
    57
    score
  7. 7
    08:48
    time
    50
    score
  8. 8
    06:57
    time
    35
    score
  9. 9
    08:13
    time
    28
    score
  10. 10
    09:12
    time
    28
    score
Do you want to stay in the Top 10 of this game? to identify yourself.
Make your own free game from our game creator
Compete against your friends to see who gets the best score in this game

Top Games

  1. time
    score
  1. time
    score
time
score
time
score
 
game-icon

Você é bom mesmo em JS?Online version

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

by nata house
1

Qual é a saída?

2

Qual é a saída?

3

Qual é a saída?

4

Qual é a saída?

5

Qual é a saída?

6

Qual é a saída?

7

Qual é a saída?

8

Qual é a saída?

9

Qual é a saída?

10

Que tipo de informação seria registrada?

11

Qual a alternativa correta?

12

Qual é a saída?

13

Qual é a saída?

14

Qual é a saída?

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.