ΠΠΎΠ»ΡΡΠΈΠ» ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΡΡΠ΄Π°:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
Π TS ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°.
Π Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ ts ΡΡΠΈΡΠ°Π΅Ρ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ - Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± @ ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ Π΅Π΅?
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ.
ΠΠ΅ΡΡΠΈΡ TypeScript: 2.3.2 / Π½ΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅: https://www.typescriptlang.org/play/index.html
ΠΠΎΠ΄
function uuidv4()
{
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
)
}
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
ΠΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ?
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
Operator '+' cannot be applied to types 'number[]' and '-1000'.
ΠΡΠΎ Π½Π΅ ΡΠΎΡΡΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
ΠΠΎΠΏΡΠΎΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π° StackOverflow ΠΈΠ»ΠΈ Π½Π° Gitter.im .
ΠΠΎ ... TypeScript Π·Π°ΡΠΈΡΠ°Π΅Ρ Π²Π°Ρ ΠΎΡ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π»ΠΈΡΠ΅ΡΠ°Π» ΠΌΠ°ΡΡΠΈΠ²Π° :
function uuidv4()
{
- return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
+ return ([1e7] as any + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
)
}
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ Π½Π΅ ΡΠΎΡΡΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
ΠΠΎΠΏΡΠΎΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π° StackOverflow ΠΈΠ»ΠΈ Π½Π° Gitter.im .
ΠΠΎ ... TypeScript Π·Π°ΡΠΈΡΠ°Π΅Ρ Π²Π°Ρ ΠΎΡ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π»ΠΈΡΠ΅ΡΠ°Π» ΠΌΠ°ΡΡΠΈΠ²Π° :