JS 기초(로또만들기)

3313 단어 JavaScriptJavaScript

fill
map
sort
b_array === b_array.slice()가 false라는 것을 통해서 둘은 서로 다르다.
.sort((a,b) => a - b) 오름차순.
.sort((a,b) => b - a) 내림차순.

.charCodeAt() 아스키코드
첫 글자만 같고 두번째 글자는 다를 때, 사전식으로 정렬해야할 때, .sort((a,b) => a.localeCompare(b)) 한글도 정렬가능.

날짜 오름차순.

setTimeout(() => console.log('hello'), 밀리초) 3000밀리초는 3초.

function func() {  // 3.5초 뒤 실행하게 만들기.
console.log('hello');}
setTimeout(func, 3500); //3.5초 뒤 실행. 여기서 func()는 함수가 아니라 return 값

setTimeout(() => {
  func();
}, 3500);

let와 var의 차이
변수는 스코프(scope, 범위) 라는 것을 가지게 된다. var은 함수 스코프, let은 블록 스코프를 가진다.
a는 함수 안에 선언된 변수이므로 함수 바깥에서 접근할 수 없습니다. 이렇듯 함수를 경계로 접근 여부가 달라지는 것을 함수 스코프라고 한다.

if는 함수가 아니라서 var을 해도 밖에서 접근가능.

반면 let은 undefined. {}이 블록이라고 보면 되고, let이 블록 스코프라서 이러한 결과가 나온다. 블록 바깥에서는 블록 안에 있는 let에 접근할 수 없습니다. const도 let과 마찬가지고 블록 스코프.

i가 false가 될 때 for문이 중단된다. 따라서 마지막값 i = 5 가 실행되고

let 은 {} 안에서 값이 고정이 된다. var은 고정없이 그냥 동작함.

함수와 함수 바깥에 있는 변수와의 관계를 클로저라고 한다. 따라서 함수와 함수 밖에 있는 변수를, 함수와 함수 안에 있는 변수로 바꿔줘야한다.
※참고사항.
var + 비동기가 만나면 클로저가 발생

좋은 웹페이지 즐겨찾기