반응형
    
    
    
  TypeScript GUID 클래스?
누구든지 TypeScript에서 GUID (UUID)와 같은 훌륭하고 견고한 C # 구현을 알고 있습니까?
스스로 할 수는 있었지만 다른 사람이 전에했다면 시간을 아끼겠다고 생각했습니다.
JavaScript GUID 생성기를 기반으로하는 TypeScript 유틸리티에 구현이 있습니다 .
다음은 코드입니다.
class Guid {
  static newGuid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
      var r = Math.random() * 16 | 0,
        v = c == 'x' ? r : (r & 0x3 | 0x8);
      return v.toString(16);
    });
  }
}
// Example of a bunch of GUIDs
for (var i = 0; i < 100; i++) {
  var id = Guid.newGuid();
  console.log(id);
}다음 사항에 유의하십시오.
C # GUID는 고유 한 것으로 보장됩니다. 이 솔루션은 고유 할 가능성 이 매우 높습니다 . "매우 가능성이 높음"과 "보장됨"사이에는 큰 차이가 있으며이 차이를 통과하고 싶지는 않습니다.
JavaScript로 생성 된 GUID는 서버가 응답 할 때까지 기다리는 동안 사용하는 임시 키로 사용하는 것이 좋지만 데이터베이스의 기본 키로 반드시 신뢰하지는 않습니다. JavaScript로 생성 된 GUID를 사용하려는 경우 GUID가 생성 될 때마다 등록을 확인하여 중복이 없는지 확인하고 싶을 것입니다 (경우에 따라 Chrome 브라우저에서 발생하는 문제). ).
나는 이것을 https://typescriptbcl.codeplex.com/SourceControl/latest 찾았습니다.
여기 Guid를 버전 링크가 나중에 작동하지 않는 경우가 있습니다.
module System {
    export class Guid {
        constructor (public guid: string) {
            this._guid = guid;
        }
        private _guid: string;
        public ToString(): string {
            return this.guid;
        }
        // Static member
        static MakeNew(): Guid {
            var result: string;
            var i: string;
            var j: number;
            result = "";
            for (j = 0; j < 32; j++) {
                if (j == 8 || j == 12 || j == 16 || j == 20)
                    result = result + '-';
                i = Math.floor(Math.random() * 16).toString(16).toUpperCase();
                result = result + i;
            }
            return new Guid(result);
        }
    }
}
참조 URL : https://stackoverflow.com/questions/26501688/a-typescript-guid-class
반응형
    
    
    
  'Program Tip' 카테고리의 다른 글
| Html / PHP-양식-배열로 입력 (0) | 2021.01.10 | 
|---|---|
| GitHub Atom-편집기에서 중심선 제거 (0) | 2021.01.10 | 
| 열거 형 케이스 '…'은 '…'유형의 멤버가 아닙니다. (0) | 2021.01.10 | 
| 마이크로 서비스 : 외래 키 관계를 처리하는 방법 (0) | 2021.01.08 | 
| 가비지 수집기를 구현하는 방법은 무엇입니까? (0) | 2021.01.08 |