SlideShare uma empresa Scribd logo
1 de 18
Como funciona esse trem?
Eu só sei que escreve console.log aparece um texto lá no console...
JAVASCRIPT
@lalizita
lalizita
laislima98
laislima98@hotmail.com
Laís Lima, 20 anos
Front End Developer @ Cosmobots
@onerdzao / @womakersgram
Por que devemos saber como o
javascript funciona?
● E fundamental que você conheça
● facilitar debug
● ficar craque para as entrevistas
Vamos conhecer o Javascript mais a fundo...
Javascript gostaria
de sair comigo?
Vamos descobrir suas habilidades mais obscuras,
ganhar intimidade, conquistá-lo e dominá-lo!
Fala pro Javascript que
é hoje!
Javascript engine
Spider Monkey
https://developer.mozilla.org/en-
US/docs/Mozilla/Projects/SpiderMonkey
https://v8.dev/
Global Execution Context
Toda vez que a Engine lê o seu código Global Execution Context é criado
Global Memory
Global Memory também é criada toda vez que a engine lê o seu código
Global
Execution
Context
Global
Memory
Javascript Engine
On progress...
Como a engine lê seu código
// Legal, temos uma constante, vamos armazenar na Global Memory
let tentativas = 0;
// olha só uma função, vamos armazenar ela na Global memory também *-* ownt
function chegarNele(resposta){
if(!resposta) return tentativa++;
return alert(“É HOJE BICHO!”);
}
// Pronto terminei!
Global
Execution
Context
Global
Memory
Javascript Engine
On progress...
chegarNele:function
tentativas: 0
chegaNele();
CALL STACK HELP!
Push coloca na stack
Pop remove da stack
Global
Execution
Context
Global
Memory
Javascript Engine
Call Stack
chegarNele():
-Local Execution
Context
-Local Memory
main()
chegaNele()
chegaNele:
Executando...
DEMOOOOOOOOO
**Js Hacks para você usar no trampo**
● extração dos parâmetros na função
● usar length para esvaziar um array
● checar se objeto está vazio ou nao Object.keys
● valores default ||
● usar !! para converter para boolean
● + operator para converter string para números
● logica com &&
Fontes
https://www.valentinog.com/blog/js-execution-context-call-stack/
https://www.youtube.com/watch?v=W8AeMrVtFLY
https://corpocrat.com/2018/04/25/20-simple-wow-hacks-in-javascript/
https://medium.com/@rahul.raviprasad/the-little-known-bitwise-operations-and-their-performance-
in-javascript-c281d512c757
@lalizita
lalizita
laislima98
laislima98@hotmail.com
@onerdzao / @womakersgram
Laís Lima, 20 anos
Front End Developer @ Cosmobots

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Temenos- Fiorano T24 Integration
Temenos- Fiorano T24 IntegrationTemenos- Fiorano T24 Integration
Temenos- Fiorano T24 Integration
 
VSO & JIRA Project Management Tool
VSO & JIRA Project Management ToolVSO & JIRA Project Management Tool
VSO & JIRA Project Management Tool
 
GraphQL Advanced
GraphQL AdvancedGraphQL Advanced
GraphQL Advanced
 
Effective API Design
Effective API DesignEffective API Design
Effective API Design
 
Architecture for the API-enterprise
Architecture for the API-enterpriseArchitecture for the API-enterprise
Architecture for the API-enterprise
 
Srs library
Srs librarySrs library
Srs library
 
Consistent Transformation of Ratio Metrics for Efficient Online Controlled Ex...
Consistent Transformation of Ratio Metrics for Efficient Online Controlled Ex...Consistent Transformation of Ratio Metrics for Efficient Online Controlled Ex...
Consistent Transformation of Ratio Metrics for Efficient Online Controlled Ex...
 
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Integration using Salesforce Canvas
Integration using Salesforce CanvasIntegration using Salesforce Canvas
Integration using Salesforce Canvas
 
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
 
Salesforce.com Overview
Salesforce.com OverviewSalesforce.com Overview
Salesforce.com Overview
 
Salesforce Security Best Practices for Every Admin
Salesforce Security Best Practices for Every AdminSalesforce Security Best Practices for Every Admin
Salesforce Security Best Practices for Every Admin
 
salesforce triggers interview questions and answers
salesforce triggers interview questions and answerssalesforce triggers interview questions and answers
salesforce triggers interview questions and answers
 
How Financial Services Organizations Use MongoDB
How Financial Services Organizations Use MongoDBHow Financial Services Organizations Use MongoDB
How Financial Services Organizations Use MongoDB
 
MySQL Spatial
MySQL SpatialMySQL Spatial
MySQL Spatial
 
Introduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsIntroduction to Force.com Canvas Apps
Introduction to Force.com Canvas Apps
 
Construindo a NuConta
Construindo a NuContaConstruindo a NuConta
Construindo a NuConta
 
Using Apex for REST Integration
Using Apex for REST IntegrationUsing Apex for REST Integration
Using Apex for REST Integration
 
Manage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with GovernanceManage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with Governance
 

Semelhante a Javascript por debaixo dos panos

T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
Carlos Santos
 
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilApresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Marcio Garcia
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
PrinceGuru MS
 

Semelhante a Javascript por debaixo dos panos (20)

Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
 
JavaScript Moderno
JavaScript ModernoJavaScript Moderno
JavaScript Moderno
 
Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilApresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVM
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp Rio
 
Xss
XssXss
Xss
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
burlando um WAF
burlando um WAFburlando um WAF
burlando um WAF
 
SEO para Front-End - BeagaJS
SEO para Front-End - BeagaJSSEO para Front-End - BeagaJS
SEO para Front-End - BeagaJS
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Preparando seu e-commerce para a Black Friday
Preparando seu e-commerce para a Black FridayPreparando seu e-commerce para a Black Friday
Preparando seu e-commerce para a Black Friday
 

Javascript por debaixo dos panos