И когда нужен каждый из них В наших проектах мы постоянно работаем с файлами: Но при этом в одних проектах мы пишем просто имя файла, например 'data.json', а в других — вот так: '/Users/mike/server/data.json'. Или в одном месте подключаем скрипт командой <script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script> а в другом — командой <script src="script.js"></script>. Всё дело в том, что в разных ситуациях нам нужно указывать абсолютный путь к файлу (длинная запись), а в других — относительный (короткий)...
Вы не знаете, на какой операционной системе будет работать ваше приложение. И в какую папку сложат ваш проект. Вы можете работать на макос, ваш коллега пишет на винде, а в продакшн запустят на убунте. Необходимо надежно получать путь к файлу для чтения / записи, независимо от платформы и места хранения. Нельзя указать просто захардкоженный абсолютный путь к файлу, просто потому что на всех ОС будет разный корень, не говоря уже о разных именах пользователя. Вам нужно знать путь к файлу и путь к корню, откуда вы работаете. Вы не сможете использовать абсолютный путь к файлу в хранилище, так как не знаете корень хранилища заранее...