Skip to content

Instantly share code, notes, and snippets.

Avatar
🔋
Recharging

Fotis Papadogeorgopoulos fpapado

🔋
Recharging
View GitHub Profile
@OliverJAsh
OliverJAsh / foo.ts
Last active Oct 16, 2020
TypeScript type hierarchy for `object`, primitives, `{}`, and `unknown`
View foo.ts
/*
--------- primitive ----------
object non-nullable primitive nullable
------------- {} --------------
---------------- unknown -----------------
https://www.oreilly.com/library/view/programming-typescript/9781492037644/ch04.html
https://gist.github.com/OliverJAsh/381cd397008309c4a95d8f9bd31adcd7
*/
@pedpess
pedpess / jstudy.md
Last active Aug 26, 2018
Javascript Study Notes
View jstudy.md

Javascript Study Notes

(by @pedpess)


These are my own paper version notes meeting the digital world. They are related to my learnings from 2017-18, or just stuff I thought would be nice to keep a record during the time I was grasping some Javascript topics.

PS: Don't expect all the material here to be 100% accurate or up-to-date. If you find some part that's wrong, or missing or old, please send me a comment to fix! :)

@paulirish
paulirish / what-forces-layout.md
Last active Nov 29, 2021
What forces layout/reflow. The comprehensive list.
View what-forces-layout.md

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@donnut
donnut / currying.md
Last active Nov 5, 2021
TypeScript and currying
View currying.md

TypeScript and currying

In functional programming you often want to apply a function partly. A simple example is a function add. It would be nice if we could use add like:

var res2 = add(1, 3); // => 4

var add10To = add(10);
var res = add10To(5); // => 15