오늘은 파일 시스템과 자바스크립트 모듈이 어떻게 다른지, 그리고 JavaScript로 개발할때 왜 Windows에서도 슬래시(/)를 써도 문제가 없는지 알아보겠습니다.
우선, 운영 체제에 따라 파일 시스템이 어떻게 다른지 살펴보겠습니다. Windows와 Unix 계열의 운영 체제는 각각 파일 경로를 표시하는 방식에 차이가 있습니다. Unix 계열에서는 슬래시(/)를, 반면 Windows에서는 역슬래시(\)를 사용합니다. 이러한 차이점은 각 운영 체제의 파일 시스템에서 기인하죠.
그러나 이 차이점 때문에 자바스크립트 코딩에 문제가 생기지 않습니다. 왜냐하면 자바스크립트의 모듈 시스템은 운영 체제의 파일 시스템과 독립적으로 동작하기 때문입니다. 즉, 운영 체제의 차이점을 크게 고려하지 않아도 된다는 것입니다.
자바스크립트에서 import 문을 사용할 때, 우리는 파일 시스템을 직접 다루는 것이 아니라, 모듈 시스템에게 특정 모듈의 위치를 요청하는 것입니다.
import { join } from '../controllers/userController';
위 코드에서 '../controllers/userController'는 모듈 식별자로서의 경로입니다. 이 경로는 운영 체제의 파일 시스템 경로와는 별개로 작동합니다.
그렇다면, 이런 모든 처리를 누가 해주는 걸까요? 바로 자바스크립트 실행 환경(예: Node.js나 브라우저) 내부의 모듈 리졸버가 그 역할을 합니다. 모듈 리졸버는 모듈의 식별자를 해석하고, 실제 모듈이 어디에 있는지를 찾아내는 역할을 하죠. 이 과정에서 운영 체제의 경로 구분자가 무엇인지는 중요하지 않습니다.
따라서 우리는 자바스크립트 코드를 작성할 때, 운영 체제의 차이에 대해 크게 신경 쓰지 않아도 됩니다.
자바스크립트 모듈 시스템과 운영 체제의 파일 시스템은 서로 다르게 동작합니다. 이로 인해 우리는 자바스크립트를 코딩할 때, 파일 시스템이나 운영 체제의 차이를 크게 고려하지 않아도 됩니다. 어느 운영 체제에서든 같은 자바스크립트 코드를 실행하면, 슬래시(/)를 사용하는 데 아무런 문제가 없습니다. 이것이 바로 슬래시가 자바스크립트에서, 그것도 Windows에서도 잘 작동하는 이유입니다.