바닐라 자바스크립트
var, let, const 각각의 차이점
var, let, const 각각의 차이점
2020.10.18[JavaScript] var, let, const 각각의 차이점 자바스크립트에서 변수를 선언할 때 사용하는 var let const 각각의 차이점은 무엇일까요? 차이점 가장 큰 차이는 var의 경우 function-scoped let과 const는 block-scoped라는 것입니다. 스코프에 대해 설명하기 전, var가 갖고 있는 문제에 대해 먼저 알아보겠습니다. 변수 선언 방식 우선, var의 경우 변수 선언에 있어서 혼란을 야기할 수 있는 부분이 존재합니다. var age = 10; console.log(age); // 10 var age = 20; console.log(age); // 20위 코드에서 같은 이름의 변수를 한 번 더 선언했음에도 에러가 발생하지 않고 정상적으로 출력되는 것을 확인할..
Math.random()은 정말 랜덤일까?
Math.random()은 정말 랜덤일까?
2020.10.17[JavaScript] Math.random()은 정말 랜덤일까? TL; DR; 자바스크립트는 어떻게 Math.random 함수에서 난수를 생성하는가? JS는 아무것도 하지 않는다. 브라우저에 따라 달라진다. 현재 대부분의 브라우저는 xorshift128+ 라는 알고리즘을 사용한다. xorshift128+에 의해 생성된 숫자는 난수를 생성하는 것이 아닌, 특정 값에 공식을 대입한 수학식이다. Math.random() Math.random() 은 0 이상 1미만의 부동 소숫점 난수를 생성하는 함수이며, 이 점을 이용해 아래와 같이 사용해 랜덤한 값을 만들 수 있습니다. 0 Math.random() * (max - min) + min; 두 값 사이의 (정수)난수 생성 getRandom = (min, max)..