Skip to content

Instantly share code, notes, and snippets.


Fotis Papadogeorgopoulos fpapado

View GitHub Profile
OliverJAsh / foo.ts
Last active Nov 17, 2022
TypeScript type hierarchy for `object`, primitives, `{}`, and `unknown`
View foo.ts
----------- primitive ----------
object non-nullable primitive nullable
------------- {} --------------
---------------- unknown -----------------
pedpess /
Last active May 31, 2022
Javascript Study Notes

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 /
Last active Jan 30, 2023
What forces layout/reflow. The comprehensive list.

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 /
Last active Dec 7, 2022
TypeScript and currying

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