



4장 변수








내부 로직과 내부 메서드→ 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드→ 개발자가 직접 접근할 수 있도록 공개된 객체의 프로퍼티는 아님, 하지만 일부 내부 슬롯과 메서드에 한하여 간접적으로 접근가능 프로퍼티 생성시
생성자 함수에 의한 객체 생성 new 연산자와 함께 Object 생성자 함수 호출 시 → 빈 객체 생성하여 반환생성자 함수란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수생성자 함수에 의해 생성된 객체를 인스턴스라 함Object 이외에도 String,
함수와 일급 객체 일급객체란 1.무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다 2.변수나 자료구조(객체, 배열 등)에 저장할 수 있다. 3.함수의 매개변수에 전달할 수 있다. 4.함수의 반환값으로 사용할 수 있다.JS의 함수는 위의 조건을 모
객체지향 프로그래밍1\. 속성 : 특징이나 성질을 통해 실체를 인식함 추상화 : 속성 중 내가 원하는 것만 나타냄 여러 특징,성질을 하나로 합한 복합적 자료구조2\. 상태(프로퍼티): 정보를 알려주는 data값 동작(메서드): data를 이용
strict mode(엄격 모드)오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러 발생암묵적 전역변수, 함수, 매개변수의 삭제매개변수 이름의 중복with 문의 사용
표준 빌트인 객체→ ECMAScript 사양에 정의된 객체, 애플리케이션 전역의 공통 기능호스트 객체→ 실행 환경에서 추가로 제공하는 객체사용자 정의 객체→ 사용자가 직접 정의한 객체래퍼 객체→ 원시값인 문자열, 숫자, 불리언 값에 대해 객체 처럼 마침표, 대괄호 표기
this 키워드→ 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가르키는 자기 참조 변수this가 가르키는 값(this 바인딩)은 함수 호출 방식에 의해 동적으로 결정바인딩은 식별자와 값을 연결하는 과정따라서 this와 this가 가르킬 객체를 연결this는 어디에서
클래스(class) 생성자 함수와 유사하지만 다른 새로운 객체 생성 방식 생성자 함수와 유사 = 함수로 평가(클래스도 일급 객체) 클래스몸체에서 constructor, 프로토타입 메서드, 정적 메서드를 정의할 수 있다.호이스팅이 발생하지 않는 것 처럼 보임 let, c
ES6 함수의 추가 기능메서드 : 메서드 축약 표현으로 정의된 함수 → 인스턴스 생성 불가 non-constructor→ 바인딩한 객체를 가르키는 내부 슬롯 \[HomeObject]를 가짐(super 키워드 사용 가능)화살표 함수 → 화살표 함수는 인스턴스 생성 불가
배열 (array)→ 여러 개의 값을 순차적으로 나열한 자료구조요소 (element)→ 배열이 갖고 있는 값배열의 길이 length프로퍼티배열 리터럴 (쉼표로 구분 후 \[]로 묶음),Array 생성자 함수 (전달된 인수의 개수에 따라 다르게 동작),→ 정적 메소드Ar
RegExp→ 정규 표현식정규 표현식이란?일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어 (JS 고유 문법이 아닌 대부분의 프로그래밍 언어에 있는 문법)특정 패턴과 일치하는 문자열을 검색하거나 추출 또는 치환하는 패턴 매칭 기능 제공반복문과 조거문
String(표준 빌트인 객체)→ new연산자와 함께 호출String 메서드 원본 배열을 직접 변경하지 않고 새로운 배열을 생성하여 반환하는 메서드→String 래퍼 객체도 읽기 전용prototype.indexof 인수로 전달받은 문자열을 검색하여 첫번째 인덱스 반환p
Symbol다른 값과 중복되지 않는 유일무이한 값 주로 유일한 프로퍼티 키를 만들기 위해 사용new연산자와 함께 호출X new연산자와 함께 생성자 함수 또는 클래스를 호출하면 객체가 생성되지만 변경X (암묵적으로 문자열이나 숫자 타입으로 변환되지 않는다. 단, 불리언값
이터러블 이터레이션 프로토콜이터레이션 프로토콜은 수회 가능한 데이터 컬렉션을 만들기위해 미리 약속한 규칙순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일하여 for ...of문, 스프레드 문법, 배열 디스트럭처링 할당의 대상으로 사용할 수있도록
스프레드 문법 하나로 뭉쳐있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만듬 → for...of 문으로 순회할 수 있는 이터러블에 한정
디스터럭처링 할당(구조 분해 할당)→ 이터러블 또는 객체를 destructuring하여 1개 이상의 변수에 개별적으로 할당하는 것 (할당 기준: 인덱스 값)객체 디스트럭처링 할당(프로퍼티 키 사용 → 할당 기준 프로퍼티 키)할당 연산자 왼쪽에 할당받을 변수 선언 必필요
Set 객체→ 중복되지 않는 유일한 값들의 집합동일한 값 중복하여 포함X요소 순서의 의미가 없음인덱스로 요소에 접근할 수 없음Set객체는 Set 생성자 함수로 생성요소 개수확인 size요소 추가 add요소 존재 여부 확인 has 요소 삭제 delete(존재하지 않으면
브라우저 렌더링 과정 브라우저 환경을 고려하여 더 효율적인 클라이언트 사이드 자바스크립트 프로그래밍이 가능그렇기에 브라우저가 HTML, CSS, 자바스크립트로 작성된 텍스트 문서를 어떻게 파싱(해석)하여 렌더링 되는지 과정을 알아야함!이미지, 폰트 파일 등 렌더링에 필
브라우저 렌더링 엔진은 HTML문서를 파싱하여 브라우저가 이해할 수 있는 자료구조 DOM 생성DOM은 HTML 문서의 계층적 구조와 정보를 표현하며 이를 제어할 수 있는 API, 즉 프로퍼티와 메서드를 제공하는 트리 자료구조노드 객체들로 구성된 트리 자료구조를 DOM
에러 처리 -에러에 대처하지 않으면 프로그램 강제 종료try...catch...fianlly문try { // 실행할 코드(에러 발생 여지가 있는 코드)} catch (err) { // try 블록에서 에러가 발생하면 이 블록의 코드가 실행 // 매개변수(이름 자유
제너레이터 - 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수1.제너레이터 함수는 함수 호출자에게 함수 실행의 제어권을 양도할 수 있다.2.제너레이터 함수는 함수 호출자와 함수의 상태를 주고받을 수 있다. 3.제너레이터 함수를 호출하면 제
프로미스 - 비동기 처리를 위한 하나의 패턴이며, 콜백 패턴이 가진 단점을 보완하며 비동기 처리 시점을 명확하게 표현할 수 있다는 장점비동기 함수는 비동기 처리 결과를 외부에 반환할 수 없고, 상위 스코프의 변수에 할당할 수도 없다. 따라서 후속처리는 비동기 함수 내부