Typescript: ์—ฐ์‚ฐ์ž '+'๋Š” 'number []'๋ฐ '-1000'์œ ํ˜•์— ์ ์šฉ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 09์›” 12์ผ  ยท  1๋…ผํ‰  ยท  ์ถœ์ฒ˜: microsoft/TypeScript

์—ฌ๊ธฐ์—์„œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
๊ทธ๋ฆฌ๊ณ  TS๋Š” ๊ทธ๊ฒƒ์ด ์‚ฌ์‹ค์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ts๊ฐ€ ์ด๊ฒƒ์„ ์˜ค๋ฅ˜๋กœ ๊ฐ„์ฃผํ•˜๋Š” ๊ฒฝ์šฐ- @suppress ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?
๊ฐ์‚ฌ.

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'.

Question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ์ง€์› ํฌ๋Ÿผ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์งˆ๋ฌธ์€ 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๋Š” ์•”์‹œ ์  ๊ฐ•์ œ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋ฏ€๋กœ ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด ์„

  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)
    )
  }
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰