7장 연산자산술 연산자이항 산술 연산자단항 산술 연산자 +, -숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다. 이때 피연산자를 변경하는 것은 아니고 숫자 타입으로 변환한 값을 생성해서 반환한다. 따라서 부수 효과는 없
제어문: 문의 끝에는 세미콜론을 붙이는 것이 일반적이다. 하지만 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다는 것에 주의하기 바란다. default문은 선택사항이다. break를 ㅅ ㅏ용하지 않으면 실행 흐름
명시적 타입 변환(타입 캐스팅) : 개발자가 의도적으로 값의 타입을 변환하는 것암묵적 타입 변환(타입 강제 변환) : 개발자의 의도와 상관없이 표현식을 평가하는 도중에 자바스트립트 엔진에 의해 암묵적으로 타입이 변환되는 것타입 변환이란 기존 원시 값을 사용해 다른 타입
객체 타입이란 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조원시 값 : 변경 불가능한 값객체 타입의 값 : 객체는 변경 가능한 값인스턴스란 클래스에 의해 생성되어 메모리에 저장된 실체를 말한다. 객체 리터럴의 중괄호는 코드 블록을 의마하지 않는다. 코드 블
자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위. 즉, 스코프는 식별자가 유효한 범위렉시컬 환경 : 코드가 어디서 실행되며 주변에 어떤 코드가 있는지실행 컨텍스트 : 렉시컬 환경을 구현한 것만약 스코프라는 개념이 없다면 같은 이름을 갖는
전역 변수를 반드시 사용해야 할 이유를 찾지 못한다면 지역 변수를 사용해야 한다.변수에 생명 주기가 없다면 한번 선언된 변수는 프로그램을 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다.함수가 호촐되면 생성되고 함수가 종료하면 소멸함수의 생명 주기와 일치호이스팅은
동일한 이름의 변수가 이미 선언되어 있는 것을 모르고 변수를 중복 선언하면서 값까지 할당했다면 의도치 않게 먼저 선언된 변수 값이 변경되는 부작용이 발생한다.var 키워드로 선언한 변수는 함수의 코드 블록만을 지역 스코프로 인정한다.따라서 함수 외부에서 선언한 변수는
자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위. 즉, 스코프는 식별자가 유효한 범위렉시컬 환경 : 코드가 어디서 실행되며 주변에 어떤 코드가 있는지실행 컨텍스트 : 렉시컬 환경을 구현한 것스코프 체인이란 스코프가 계층적으로 연결된 것모
생성자 함수 : new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수인스턴스 : 생성자 함수에 의해 생성된 객체new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 빈 객체를 생성한 이후 프로퍼티 또는 메서드를 추가하여 객체를
실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다.실행 컨텍스트가 중요한 이유 : 스코프, 호이스팅 발생 이유, 클로저 동작 방식, 태스크 큐, 비동기 처리 방식을 이해할 수 있다.소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다
다음과 같은 조건을 만족하는 객체를 일급 객체라 한다.자바스크립트의 함수는 일급 객체이다.무명의 리터럴로 생성 가능. 즉, 런타임에 생성 가능변수나 자료구조(객체, 배열)에 저장 가능함수의 매개변수에 전달 가능함수의 반환값으로 사용 가능함수가 일급 객체라는 것은 함수를