Unlike Microsoft's poorly implemented shortcuts, Unix and Linux implement hard links and symbolic ("soft") links at the filesystem level. This means that the only way an application can distinguish between an "actual file" and a symbolic link to the actual file, is by requesting specific information from the filesystem.
If bash is looking for ~/.bashrc and finds something there (either a real file, or a symbolic link to a file...or even a symbolic link to a symbolic link to a symbolic link.... to a file... it will treat the symbolically linked file as if it were at the place where the symbolic link is it.
why?
BECAUSE THAT IS THE ENTIRE PURPOSE OF HAVING SYMBOLIC LINKS.