JavaScript makes inheritance a hassle. There are numerous ways of faking it, and they aren't always compatible with one another.
I don't think we're seeing inheritance "shunned" in those so-called "classical OO" languages. Given more experience with the potential pitfalls of overuse of inheritance, I do think we're seeing it used less extensively than it once was, but it's still a useful technique.
On the other hand, we do see JavaScript developers putting a lot of time and effort into trying to add functionality that is inherently useful, but that isn't offered well by default. It's the opposite of the problem that those other languages suffered from. They make it too easy by default; JavaScript makes it too difficult.
Indeed, the fact Crockford's stuff on classical inheritance in The Good Bits was wrong but the book got (and retains) so much traction indicates just how much no-one cares.
Here's a discussion on stack exchange:
http://programmers.stackexchange.com/questions/173176/javasc...
The general problem with all classical inheritance patterns in Javascript is that they don't really work (they treat Javascript as a static language so you get all kinds of nasty surprises because it isn't). This is particularly sad in comparison with older, conceptually simple languages like Objective-C that do this stuff properly.
Crockford himself says it was a mistake to even include the section in the book (in 8 years he's never used it)
http://www.crockford.com/javascript/inheritance.html
The takeaway point is that doing classical inheritance in Javascript is a Bad Idea. If you think you've done it, you probably haven't. And no-one will use it.
It's only shunned by a certain class of hipster and more-functional-than-thou programmers. The vast majority of classically typed language programmers still use classical inheritance.
I was talking about if the majority shuns inheritance or not [it does not]. Not whether it's the correct way to go.
That said, there's lots of instances of is_a relationship. Anywhere where you have different types of something.
A work hierarchy for example. While composition might work for the methods we want to have, conceptually a manager is not someone who HAS an employee (composition), he IS-AN empoyee.
GUI widgets. Game sprites. Vehicles. Animals. Simulation objects.
Consider how the "semantic web" is all about taxonomies -- put everything into taxonomies.
Disclaimer : I'm not actually a big fan of javascript.