TIL/Javascript 2

배열 정렬하기, sort()함수

Javascript에서 정렬함수인 sort() 일단 써보면 오름차순이 잘 되는 것 같지만… let array = [2,1,4,3,5]; let arr = array.sort(); console.log(arr); // [1,2,3,4,5] 다른 배열로 다시 오름차순을 시도해보면 let array = [12,1,4,3,5]; let arr = array.sort(); console.log(arr); // [1,12,3,4,5] 1 다음으로 오는 숫자를 12로 정렬했다. 기본값은 문자열로 인식해서 UTF-16 유니코드 값을 기준으로 정렬한 것이다. 이 때문에 sort() 함수 안에 콜백 함수를 작성해야 한다. sort()의 가장 중요한 핵심은 비교하는 숫자들이 양수/음수인지 확인하는 작업에 있다. 이 원리를 ..

TIL/Javascript 2023.01.02

호이스팅(hoisting), var를 쓰면 안되는 이유

hoisting [명사] 끌어 올리기, 들어올려 나르기 💛 함수 실행 전, 함수 내부 변수들이 범위의 최상단으로 끌어올려지는 것 예시 var a = 1; console.log(a); // 1 console.log(a); // undefined var a = 1; console.log(a); // 1 호이스팅 시 변수의 선언과 초기화(undefined)가 같이 일어난다. 실질적인 값 할당은 나중에 해당 코드 줄에서 할당된다. var의 문제점 선언을 할당 뒤에 하더라도 작동한다 console.log(a); // undefined a = 1; var a; console.log(a); // 1 전역변수와 지역변수의 개념이 불분명함 : 함수만 지역변수로 호이스팅되며 나머지는 전부 전역변수로 올라온다. for(va..

TIL/Javascript 2023.01.02