uuid란 무엇이고, 언제 사용하는지
그리고 그걸 대체할 수 있는 crypto 객체의 crypto.randomUUID() 메소드에 대해서 정리합니다
uuid는 범용적인 고유 식별에 사용될 id를 뜻합니다
주로 사용할 때는 다른 값과 중복되지 않은 고유 값을 생성해야 할 때 사용합니다
동명의 js 라이브러리가 있어서 대부분 라이브러리를 사용하신걸로 예상합니다
저 역시 TODO list app을 만들 때 uuid를 통해 todo 항목의 고유 식별 id를 생성했었습니다
uuid를 통해 생성된 난수가 중복일수도 있지만 굉장희 희박한 확률이어서 사실상 중복이 아니라고 볼 수 있습니다
그래서 대부분 중복되지 않은 식별자가 필요할 때 사용합니다
mdn docs - crypto에 따르면 crypto는 기본적인 암호화 기법을 제공하는 객체이고, 이를 통해 무작위 숫자 생성기나 암호화에 필요한 기본 요소에 접근할 수 있다고 쓰여져 있습니다
특히나 crpyto.randomUUID() 메소드를 사용하면 uuid 라이브러리를 사용하지 않고도, uuid를 생성할 수 있습니다
let uuid = crypto.randomUUID();
console.log(uuid); // for example "36b8f84d-df4e-4d49-b662-bcde71a8764f"
js의 crypto api를 사용해 uuid를 생성할 수 있기 때문에 굳이 node_modules의 용량이 커질 필요는 없겠죠?
정리
중복이 없는 식별자가 필요할 떄 기존에는 uuid 라이브러리를 사용했지만, js의 crypto API의 randomUUID() 메소드가 해당 기능을 대체할 수 있습니다
참고