dannluciano / braziljs-conf-javascript-path Goto Github PK
View Code? Open in Web Editor NEWBrazilJS Conf 2018 - O caminho para aprender JavaScript
License: GNU General Public License v3.0
BrazilJS Conf 2018 - O caminho para aprender JavaScript
License: GNU General Public License v3.0
O var
tem a vantagem de ser 'universal', bem documentada e rodar em versões antigas do JavaScript, mas possui a desvantagem de ter o escopo dinâmico e hoisting, ambos geram uma confusão grande de quem esta iniciando no mundo JavaScript.
O let
e o const
vieram para resolver esses 'problemas/funcionalidades' do var
, mas possuem a desvantagens de ainda não serem bem documentadas e de rodarem apenas nas engines que suportam ES 2015 para frente.
Qual caminho vocês escolheriam?
As Strings podem ser definidas de varias maneiras ('Ola'
, "Ola"
, `Ola`
).
A definição de String com aspas simples ''
ou com aspas duplas ""
tem a vantagem de rodar em versões antigas do JavaScript, mas possuem a desvantagem na hora de fazermos interpolação com outros dados ou nas concatenações, sem falar que não possuem suporte para String de múltiplas linhas. Por exemplo:
var nome = 'fulano',
idade = 30
console.log('Olá meu nome é ' + nome + '.\nTenho ' + idade + ' anos')
Já a definição de String com crase ``
(Template Literals
) vieram para resolver os problemas descritos acima, conforme exemplo abaixo, mas possuem a desvantagem de só estarem presente na versão ES 6
ou ES2015
do JavaScript
var nome = 'fulano',
idade = 30
console.log(`Olá meu nome é ${nome}
Tenho ${idade} anos`)
O que acredito que seja pior quando pegamos um código com os três tipos de definições de Strings.
O StandardJS possui um opinião bem definida sobre a forma que devemos definir String:
Single quotes for strings – except to avoid escaping
Aspas simples para strings - com exceção para evitar escape (\
)
O Nicolás Bevacqua tem um post (em inglês) bem bacana sobre o uso de Template Literals
ou Strings com crase Template Literals are Strictly Better Strings
Qual caminho vocês escolheriam?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.