When getting to know and use this device, the best approach is to use a USB to 3.3V TTL converter and a 3.3v power supply. Avoid working with any devices that require or output 5V levels.
Once you have done this then consider how to connect any 5V devices and interfaces if you must. You will need to implement level shifting to connect to 5V devices. There are plenty of resources on the internet that will help you do this, and also low-cost modules such as bi-direction level shifters. Also be aware of the difference between unbuffered interfaces (such as I2C) and buffered ones (such as SPI) as the level shifting approach is different for these.
Also note that if you use an external power supply, then be sure to connect its ground to your USB TTL's ground, otherwise, it may cause trouble.Warning: The ESP8266 works at 3.3V! Connecting directly to 5V, whether it's Croduino or Arduino will burn it! You have to use voltage drivers or logic shifters.