객체의 참조값(주소 값)을 복사(기존 값에 영향 O)실제 값을 복사하는 것(기존 값에 영향 X)1차원 배열 깊은복사 O , 다차원배열 복사 X1차원 배열 깊은복사 O , 다차원배열 복사 X1차원 배열 깊은복사 O , 다차원배열 복사 O
자바스크립트에서의 변수선언은 var, let, const 키워드를 사용한다.<자바스크립트에서의 변수선언의 단계> 선언단계 - 변수이름을 자바스크립트 엔진에 등록초기화단계 - 값을 undefined로 할당해 초기화함var를 이용해 변수선언을 하면 선언단계와 초기화단
다른언어에서는 자신을 가리키는 참조 변수 이지만JS에서는 어떻게 함수가 호출됬는지에 따라 this에 바인딩 되는 객체가 달라진다.window(전역객체)가 바인딩된다!!메소드를 호출한 객체(마침표(.) 연산자 앞에 기술한 객체)가 바인딩된다!!생성자가 미래에 생성할 인스

JS 코드를 실행하는데 필요한 환경을 제공하고 코드의 실행결과를 실제로 관리하는 영역코드 실행순서관리 + 식별자(변수,함수,클래스), 스코프를 등록 JS의 모든 코드는 실행 컨텍스트를 통해 실행되고 관리된다!! 실행 컨텍스트에서 식별자,스코프를 등록하고 관리하는 관리
함수와 그 함수가 선언된 렉시컬 환경과의 조합쉽게 말해 외부 함수보다 중첩함수가 더 오래 유지되는 경우 중첩함수는 이미 생명주기가 종료한 외부 함수의 변수를 참조할 수 있는데 이런 중첩함수를 '클로저' 라고 한다!즉, 클로저란 중첩함수인데 이 중첩함수가 상위스코프의 변

JavaScript는 싱글 스레드이면서 논 블록킹 언어이다JS는 비동기 처리를 통해 싱글 스레드(한번에 하나의 태스크만 수행)이지만 블록킹 되지 않게 한다. 즉, 하나의 요청이 완료될 때까지 기다리지 않고 동시에 다른 작업을 수행가능하게 한다.동기 : 요청을 보낸 후
자바스크립트는 클래스 기반 객체지향 언어(Java, C++)보다 강력한 프로토타입 기반 객체지향 언어이다.하지만 ES6에서 클래스가 도입되었다. 하지만 기존의 프로토타입 기반 객체지향 모델을 폐지하고 새로운 객체지향 모델을 제공하는 것은 아니기에 기존모델을 알 필요성이
가끔식 코딩을 하다보면 특정 변수값이 중복되는지 헷갈릴때가 있다.. 스코프에 대해 정확히 이해한다면 복잡하고 장황한 코드에서 중복명의 변수,함수를 자유롭게 선언하고 사용할 수 있기 때문에 꿀이다. JavaScript에서 스코프란 식별자가 유효한 범위를 말한다쉽게 말해
자바스크립트는 한번에 하나의 태스크만 실행할 수 있는 싱글 스레드 언어이다싱글 스레드방식은 한번에 하나의 작업만 수행할 수 있기 때문에 처리하는데 시간이 걸리는 작업의 경우 블로킹이 발생한다. 하지만 JS는 <span style="background-color:동