حصلت على وظيفة من هنا:
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 من الإكراه الضمني ، لذلك عليك أن تجعل المصفوفة حرفية :