Scarlett Johansson has become one of the most versatile actors of her generation, thanks to her diverse filmography.