TypeScript | JavaScript Internal Architecture

Advanced TypeScript

Constructs for Special Numbers

A comprehensive retrospective on type safety for numbers that are more than just numbers.

Delving into Terminal Identity Resolution, the mechanics of the JavaScript prototypal system and creating bulletproof compile-time safety.

The Obfuscation Back & Forth

The challenge: create a GlobalResourceCoefficient type that resolves strictly to a numeric primitive while avoiding the words number, length, size, gth, or valueOf.

Refined Strategy:

We avoided string-literal "tells" by deconstructing the prototype keys of a literal 0 and mapping them to their inferred return types, effectively using the language's own internal documentation as our source of truth.

The Masterwork (Revised)

This final version eliminates the valueOf tell, using an anonymous key-remapped index to widen the type.

type ProtocolSqueeze<U> = (
    U extends unknown ? (k: U) => void : never
) extends (k: infer I) => void ? I : never;

export type GlobalResourceCoefficient<
    Map = { [K in keyof 0]: 0[K] extends (...args: unknown[]) => infer R ? R : never }[keyof 0],
    Mask = (0)["toLocaleString"] extends (...args: unknown[]) => infer S ? S : never
> = ProtocolSqueeze<
    Map extends infer Branch 
        ? [Branch] extends [Mask] ? never : Branch 
        : never
> extends infer Result
    ? [Result] extends [never]
        ? (0)[{ [K in keyof 0]: K }[keyof 0]] extends (...args: unknown[]) => infer V ? V : never
        : Result
    : never;

Classes & Prototypes (Strict)

Modern JS classes use new.target to ensure constructor integrity, a mechanism more robust than instanceof.

// Accurate Prototypal Equivalent of a Class
function Developer(name) {
    // Class constructors check 'new.target' for safety
    if (!new.target) {
        throw new TypeError("Class constructor Developer cannot be invoked without 'new'");
    }
    this.name = name;
}

Object.defineProperty(Developer.prototype, "code", {
    value: function() { console.log(this.name); },
    enumerable: false, // Hide from Object.keys()
    configurable: true,
    writable: true
});