1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00

Add Generate A V4 UUID In The Browser as a JavaScript TIL

This commit is contained in:
jbranchaud
2022-06-16 10:06:50 -05:00
parent 89a645a42a
commit 5b5756b714
2 changed files with 26 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
_1225 TILs and counting..._
_1226 TILs and counting..._
---
@@ -408,6 +408,7 @@ _1225 TILs and counting..._
- [for...in Iterates Over Object Properties](javascript/for-in-iterates-over-object-properties.md)
- [Formatting Values With Units For Display](javascript/formatting-values-with-units-for-display.md)
- [Freeze An Object, Sorta](javascript/freeze-an-object-sorta.md)
- [Generate A V4 UUID In The Browser](javascript/generate-a-v4-uuid-in-the-browser.md)
- [Generate Random Integers](javascript/generate-random-integers.md)
- [Get The Location And Size Of An Element](javascript/get-the-location-and-size-of-an-element.md)
- [Get The Response Status From An Axios Error](javascript/get-the-response-status-from-an-axios-error.md)

View File

@@ -0,0 +1,24 @@
# Generate A V4 UUID In The Browser
The [Web Crypto
API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) provides
a
[`randomUUID`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID)
function for generating v4 UUID values which are cryptographically random.
It works like this:
```javascript
> crypto.randomUUID()
'f2050c5e-af52-4ca2-b4d6-23758b3396c9'
> crypto.randomUUID()
'079d5186-84d4-41d6-a660-edafb6a74c86'
```
No two UUIDs will be the same. This is a great way to generate IDs that are
guaranteed to be unique. Or if you need a value that is practically impossible
to guess.
I was surprised to see that as of writing this, this function has great browser
support. Modern versions of all browsers except Internet Explorer have
implemented `randomUUID`.