We discussed that, in an ERC721 contract, each NFT is unique and has a different economic value. Each NFT has an associated owner. However, an owner can have multiple NFTs. Hence, between an owner and NFT, there is a one-to-many relationship.
The ownerOf() function finds the provided tokenId in the _tokenOwner map and returns the address of its owner:
function ownerOf(uint256 tokenId) public view returns (address) { address owner = _tokenOwner[tokenId]; require(owner != address(0)); return owner;}
As you can see in the preceding code that in case the tokenId provided does not exist in the mapping, the owner local variable will be assigned address(0) (the default value for the address datatype) and the call to the function ...