본문 바로가기

Programming

(19)
JS 비동기 프로그래밍 JavaScript는 싱글 스레드 언어로, 일반적으로 한 번에 하나의 작업만 처리할 수 있습니다. 시간이 많이 걸리는 작업을 동기적으로 처리하면, 해당 작업이 종료될 때까지 프로그램의 다른 부분이 블로킹(작업 중단)됩니다. 하지만, 비동기 처리를 통해 이러한 블로킹을 방지하고 다른 작업을 병렬적으로 진행할 수 있습니다. JavaScript에서 비동기 처리가 가능한 타이머 함수(setTimeout, setInterval), HTTP 요청, 그리고 이벤트 핸들러 등이 있습니다. 이런 비동기 작업들은 브라우저나 Node.js의 이벤트 루프에 의해 관리되며, 이벤트 루프는 호출 스택이 비어 있을 때 작업 큐(Task Queue) 또는 마이크로태스크 큐(Microtask Queue)에서 작업을 하나씩 꺼내 처리함..
자바스크립트 컴파일러 에러와 런타임 에러 이해하기 현대 자바스크립트에서는 트랜스파일링이나 번들링 도구들을 사용하는 것이 일반적입니다. 이러한 환경에서 컴파일러 에러와 런타임의 에러를 어떻게 구분하고 이해해야 하는지 알아보겠습니다 컴파일러 에러란? 자바스크립트는 전통적인 컴파일 언어와 달리 인터프리터 언어입니다. 이는 코드가 별도의 컴파일 과정을 거치지 않고 실행 시점에 해석된다는 것을 의미합니다. 그러나 현대 웹 개발 환경에서는 트랜스파일링과 번들링 과정이 일반적이며, 이 과정에서 발생하는 에러를 '컴파일러 에러'라고 부르는 것 같습니다. 트랜스파일링 (Transpiling): 트랜스파일링은 주로 고수준 언어에서 다른 고수준 언어로의 소스 코드 변환을 의미합니다. 예를 들어, ES6+ 자바스크립트 코드를 오래된 브라우저에서도 호환되는 ES5 코드로 변환..
JS 배열 생성자 및 기본 메서드 생성 const array:Number[] = [] const array:Number[] = [1,2,3,4,5] const array:Number[] = new Array() const array:Number[] = new Array(1,2,3,4,5) const array:Number[] = new Array(10) // [undefined, undefined, ...] const array:Number[] = new Array(n).fill('#') // ['#', '#', ...] 추가 const array:Number[] = new Array(1,2,3,4,5) array.push(6) // push - 배열 마지막에 추가 array.unshift(0) // unshift - 배열 시작 부분에 ..