Forwarded from Defront — про фронтенд-разработку и не только
Аксель Раушмайер у себя в блоге два дня назад опубликовал статью про то, как работают декларации в JavaScript — "Unpacking hoisting".
Аксель предлагает выделять следующие аспекты любых объявлений: область видимости (где к объявленной сущности можно обращаться) и активация (это черта динамична, она определяет, в какой момент исполнения кода можно обратиться к сущности).
Традиционные функции и var'ы всплывают и работа с ними не вызывает особых проблем. Особенности есть при работе с
Статья небольшая, но очень хорошая. Очень рекомендую почитать и поразбираться с примерами, если вы не знакомы с TDZ.
#js #es2015
http://2ality.com/2019/05/unpacking-hoisting.html
Аксель предлагает выделять следующие аспекты любых объявлений: область видимости (где к объявленной сущности можно обращаться) и активация (это черта динамична, она определяет, в какой момент исполнения кода можно обратиться к сущности).
Традиционные функции и var'ы всплывают и работа с ними не вызывает особых проблем. Особенности есть при работе с
const, let и class. Если обратиться к сущности в объявлении функции, то всё будет ок, но если попытаться выполнить эту функцию, когда сущность ещё не объявлена, то возникнет исключение ReferenceError. Промежуток времени между входом в область видимости сущности и исполнением инструкции с её объявлением называется Temporal Dead Zone (TDZ). Если в это время обратиться к объявляемым переменной/классу/функции, то возникнет исключение. Именно поэтому первый вызов функции из примера ниже выкинет исключение, а второй выполнится без ошибок:function a() {
return b;
}
a(); // throws ReferenceError
const b = 1;
a(); // 1Статья небольшая, но очень хорошая. Очень рекомендую почитать и поразбираться с примерами, если вы не знакомы с TDZ.
#js #es2015
http://2ality.com/2019/05/unpacking-hoisting.html
Возможно теперь меньше дыр будет, хотя маловероятно 😎
https://github.blog/2020-03-16-npm-is-joining-github/
#github #npm #javascript #js #nodejs
https://github.blog/2020-03-16-npm-is-joining-github/
#github #npm #javascript #js #nodejs
The GitHub Blog
npm is joining GitHub
We're excited to announce that npm will be joining GitHub.
Forwarded from Находки в опенсорсе
Modern Database Access for TypeScript & Node.js
Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js.
Prisma makes database access easy with an auto-generated and type-safe query builder that's tailored to your database schema. It provides an alternative to traditional ORMs and SQL query builders. Start with a new database or introspect an existing one to get started.
Also supports schema migrations.
https://www.prisma.io/
Personal opinion: it looks amazing! We need something like this in Python!
#ts #js
Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js.
Prisma makes database access easy with an auto-generated and type-safe query builder that's tailored to your database schema. It provides an alternative to traditional ORMs and SQL query builders. Start with a new database or introspect an existing one to get started.
Also supports schema migrations.
https://www.prisma.io/
Personal opinion: it looks amazing! We need something like this in Python!
#ts #js
Build and publish container images to any cloud with Infrastructure as Code
https://www.pulumi.com/blog/build-publish-containers-iac/
#pulumi #iaac #python #go #typescript #js #aws #azure #gcp #docker
https://www.pulumi.com/blog/build-publish-containers-iac/
#pulumi #iaac #python #go #typescript #js #aws #azure #gcp #docker
pulumi
Build and publish container images to any cloud with Infrastructure as Code
Go from Dockerfile to a fully running containerized service on your cloud of choice using infrastructure as code.