# A critical history of JavaScript's prototype-based design and later TypeScript and ES6 changes

DevFeed: [A critical history of JavaScript's prototype-based design and later TypeScript and ES6 changes](<https://devfeed.tech/articles/the-fall-of-javascript-35600.md>)

Original publisher: [Read original article](<https://www.yegor256.com/2025/12/28/fall-of-javascript.html>)

Author: Yegor Bugayenko (yegor256@gmail.com)

Published: 2025-12-27T21:00:00Z

Content type: opinion

Language: en

Sources: [Yegor Bugayenko](<https://devfeed.tech/sources/yegor-bugayenko.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>)

Tags: [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [oop](<https://devfeed.tech/tags/oop.md>), [prototype](<https://devfeed.tech/tags/prototype.md>), [prototypes](<https://devfeed.tech/tags/prototypes.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [typescript-is-clumsy](<https://devfeed.tech/tags/typescript-is-clumsy.md>), [typescript-is-ugly](<https://devfeed.tech/tags/typescript-is-ugly.md>), [typescript-types](<https://devfeed.tech/tags/typescript-types.md>), [typescript-vs-javascript](<https://devfeed.tech/tags/typescript-vs-javascript.md>)

## AI overview

This opinion article recounts JavaScript's origins and argues that its prototype-based, class-free design was later undermined by TypeScript and ES6 classes. It also compares JavaScript's object model with Scheme, Self, C++, and Java.

## Source excerpt

JavaScript was an elegant prototype-based class-free language until TypeScript and ES6 classes ruined it.