간단하게 난수화 문자열 생성하기[JS]

BANGJH·2020년 1월 9일
3

JS ONE PIECE

목록 보기
8/11
post-thumbnail

javascript의 Number 객체는 Object 객체의 toString()메소드를 오버라이딩하며,
Object.prototype.toString()를 상속받지 않습니다.
Number 객체에서 toString() 메소드는 특정 진수로 객체를 표현한 문자열을 환원합니다.

그렇다면

Math.random() 으로 랜덤한 숫자를 생성하고 거기에 .toString()을 하면 랜덤한 문자열이 나오게 된다는 뜻이다.

그리고 .toString([radix])은 매개변수로 2~36 사이의 정수를 받는데 이는 진수를 나타내는 값이다.
16을 넣으면 16진수로 알파벳 f까지 사용하여 표현된다. 우리는 36을 넣어 36진수를 표현할 것이다.

// 랜덤이기 때문에 결과값이 다를 수 있음.
Math.random().toString(36) // "0.d4jcyu6965"

앞에 숫자와 0. 이 붙어있다. 왜냐하면 Math.random() 이 0 이상 1 미만의 구간에서 근사적으로 균일한(approximately uniform) 부동소숫점 의사난수를 반환하기 때문이다.

mdn에서 가져왔다 :)

이를 제거하기 위한 substr을 쓰면

// 랜덤이기 때문에 결과값이 다를 수 있음.
Math.random().toString(36).substr(2,11); // "twozs5xfni"

난수화 문자열이 생성되었다.

그럼 이만으로 마치겠습니다.

profile
안녕하세요 신입 웹개발자입니다.

0개의 댓글