Compass

Compasses are an item used to point to the world spawn. They are crafted using 4 iron ingots and one piece of redstone dust.

Trading
Expert-level librarian villagers have a 50% chance to sell a single compass for 4 emeralds.

Expert-level librarian villagers have a $1/3$ chance to sell a single compass for 4 emeralds.

Usage
The compass needle points toward the world spawn point; more specifically, it will always point towards the northwest corner of the block whose coordinates are set as the world spawn. The compass points to spawn when viewed in any way, including as a dropped item, in a player's hand, in an inventory or the crafting table, or in an item frame. The compass that is shown on the topmost tab of the recipe book also points to spawn. The direction the needle points is relative to the player who is viewing it.

In the Nether or the End, the compass' needle spins and points in random directions.

you can use a compass on a lodestone to make it point to those coordinates instead, creating a lodestone compass. This works in all dimensions.

Trading
A single compass can be sold to a journeyman-level cartographer villager for 1 emerald.

A single compass can be sold to an expert-level cartographer villager for 1 emerald as their sixth trade. A compass is also part of the cost of explorer maps:

An ocean explorer map or a woodland explorer map can be bought from a journeyman-level cartographer for 12 emeralds and a compass, as part of their fifth trade.

In Java Edition, apprentice-level Cartographer villagers offer to sell an ocean explorer map for 13 emeralds and a compass, and journeyman-level Cartographer villagers offer to sell a woodland explorer map for 14 emeralds and a compass.

Trivia

 * A compass can be viewed under the item statistics page, as long as one has made a compass at some point in the past. It can also be viewed in the recipe book as the search tab's icon, or when the recipe for it if it has been unlocked.
 * A compass points to the northwest corner of a block, not the middle.
 * Using to change the world spawn also changes where the compass points.