딥다이브 [딥다이브] 프로미스 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용 => 콜백 헬로 인해 가독성이 나쁘고 비동기 처리중 발생한 에러의 처리가 곤란하여 여러 개의 비동기 처리를 한 번에 처리하는 데도 한계가 있음 비동기 함수를 범용적으로 사용하기 위해 비동기 함수에 비동기 처리 결과에 대한 후속 처리를 수행하는 콜백 함수를 전달하는 것이 일반적이며 필요에 따라 비동기 처리가 성공하면 호출된 콜... JavaScript딥다이브JavaScript [딥다이브] 007. 객체 리터럴 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 객체 타입의 값 (객체): 변경 가능한 값(mutable value) (함수, 배열, 정규 표현식 등 원시 값 제외 나머지) 객체: 프로퍼티로 이루어짐. 프로퍼티 : 객체의 상태를 나타내는 값 (data) c,자바 언어: 클래스 기반 객체지향 언어 차이점 : 클래스 기반 객체지향 언어와는 달리 다양한 객체 생성 방법... 딥다이브JavaScriptJavaScript [딥다이브] 006. 타입변환과 단축평가 이를 암묵적 타입 변환(implicit coercion) 또는 타입 강제 변환(type coercion) 이라 한다. 자바스크립트 엔진은 표현식을 평가할 때 개발자의 의도와는 상관없이 코드의 문맥을 고려해 암묵적으로 데이터 타입을 강제 변환(암묵적 타입 변환)할 때가 있다. 자바스크립트 엔진은 조건식의 평가 결과를 불리언 타입으로 암묵적 타입 변환한다. 자바스크립트 엔진은 불리언 타입이 아닌... JavaScript딥다이브JavaScript [딥다이브] 008. 원시 값과 객체의 비교 원시 값 : 변경 불가능한 값(immutable value) 객체: 변경 가능한 값(mutable value) 변수(확보된 메모리)에 저장되는 값이 무엇인가? 원시 값: 메모리에 실제 값이 저장 객체 값: 메모리에 참조 값이 저장 원시값: 원본의 원시 값 (값에 의한 전달) 변수와 값 값:변수에 저장된 데이터 (변경 가능) 재할당을 통해 변수 값을 교체 상수: 재할당이 금지된 변수(단, 객체... JavaScript딥다이브JavaScript [딥다이브] 009. let, const 키워드와 블록 레벨 스코프 var 키워드로 선언한 변수는 수많은 코드 블럭 중 함수의 코드 블록만을 지역 스코프로 인정한다. (함수 제외)코드 블록 내에서 var 키워드로 선언한 변수는 모두 전역 변수가 된다. var 키워드로 변수를 선언하면 변수 호이스팅에 의해 변수 선언문이 스코프의 선두로 끌어 올려진 것처럼 동작한다. 즉, 변수 호이스팅에 의해 var 키워드로 선언한 변수는 변수 선언문 이전에 참조 할 수 있다.... JavaScript딥다이브JavaScript [딥다이브] 011. 빌트인 객체 호스트 객체 : 실행 환경 (브라우저 환경 또는 node.js 환경)에서 추가로 제공하는 객체 Promise, Reflect, Proxy, JSON, Error 등 40여 개의 표준 빌트인 객체 생성자 함수 객체 - 프로토타입 메서드, 정적 메서드 제공 문자열,숫자,불리언 등의 원시값이 있음에도 이들을 생성하는 생성자 함수가 존재하는 이유는 뭘까? 이는 원시값인 문자열, 숫자, 불리언 값의 ... JavaScrip딥다이브JavaScrip [딥다이브] 012. es6 함수의 추가 기능 Arrow functions(화살표 함수) 모든 함수가 callable (호출할 수 있는 함수객체)이면서 constructor(인스턴스를 생성할 수 있는 함수 객체) ES6 함수 💡 `arguments` : 함수에 전달된 인수에 해당하는 `Array` 형태의 객체, 함수 내에서 이용 가능한 지역 변수 `super` : 부모 오브젝트의 함수를 호출할 때 사용 화살표 함수(Arrow Functi... JavaScript딥다이브JavaScript
[딥다이브] 프로미스 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용 => 콜백 헬로 인해 가독성이 나쁘고 비동기 처리중 발생한 에러의 처리가 곤란하여 여러 개의 비동기 처리를 한 번에 처리하는 데도 한계가 있음 비동기 함수를 범용적으로 사용하기 위해 비동기 함수에 비동기 처리 결과에 대한 후속 처리를 수행하는 콜백 함수를 전달하는 것이 일반적이며 필요에 따라 비동기 처리가 성공하면 호출된 콜... JavaScript딥다이브JavaScript [딥다이브] 007. 객체 리터럴 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 객체 타입의 값 (객체): 변경 가능한 값(mutable value) (함수, 배열, 정규 표현식 등 원시 값 제외 나머지) 객체: 프로퍼티로 이루어짐. 프로퍼티 : 객체의 상태를 나타내는 값 (data) c,자바 언어: 클래스 기반 객체지향 언어 차이점 : 클래스 기반 객체지향 언어와는 달리 다양한 객체 생성 방법... 딥다이브JavaScriptJavaScript [딥다이브] 006. 타입변환과 단축평가 이를 암묵적 타입 변환(implicit coercion) 또는 타입 강제 변환(type coercion) 이라 한다. 자바스크립트 엔진은 표현식을 평가할 때 개발자의 의도와는 상관없이 코드의 문맥을 고려해 암묵적으로 데이터 타입을 강제 변환(암묵적 타입 변환)할 때가 있다. 자바스크립트 엔진은 조건식의 평가 결과를 불리언 타입으로 암묵적 타입 변환한다. 자바스크립트 엔진은 불리언 타입이 아닌... JavaScript딥다이브JavaScript [딥다이브] 008. 원시 값과 객체의 비교 원시 값 : 변경 불가능한 값(immutable value) 객체: 변경 가능한 값(mutable value) 변수(확보된 메모리)에 저장되는 값이 무엇인가? 원시 값: 메모리에 실제 값이 저장 객체 값: 메모리에 참조 값이 저장 원시값: 원본의 원시 값 (값에 의한 전달) 변수와 값 값:변수에 저장된 데이터 (변경 가능) 재할당을 통해 변수 값을 교체 상수: 재할당이 금지된 변수(단, 객체... JavaScript딥다이브JavaScript [딥다이브] 009. let, const 키워드와 블록 레벨 스코프 var 키워드로 선언한 변수는 수많은 코드 블럭 중 함수의 코드 블록만을 지역 스코프로 인정한다. (함수 제외)코드 블록 내에서 var 키워드로 선언한 변수는 모두 전역 변수가 된다. var 키워드로 변수를 선언하면 변수 호이스팅에 의해 변수 선언문이 스코프의 선두로 끌어 올려진 것처럼 동작한다. 즉, 변수 호이스팅에 의해 var 키워드로 선언한 변수는 변수 선언문 이전에 참조 할 수 있다.... JavaScript딥다이브JavaScript [딥다이브] 011. 빌트인 객체 호스트 객체 : 실행 환경 (브라우저 환경 또는 node.js 환경)에서 추가로 제공하는 객체 Promise, Reflect, Proxy, JSON, Error 등 40여 개의 표준 빌트인 객체 생성자 함수 객체 - 프로토타입 메서드, 정적 메서드 제공 문자열,숫자,불리언 등의 원시값이 있음에도 이들을 생성하는 생성자 함수가 존재하는 이유는 뭘까? 이는 원시값인 문자열, 숫자, 불리언 값의 ... JavaScrip딥다이브JavaScrip [딥다이브] 012. es6 함수의 추가 기능 Arrow functions(화살표 함수) 모든 함수가 callable (호출할 수 있는 함수객체)이면서 constructor(인스턴스를 생성할 수 있는 함수 객체) ES6 함수 💡 `arguments` : 함수에 전달된 인수에 해당하는 `Array` 형태의 객체, 함수 내에서 이용 가능한 지역 변수 `super` : 부모 오브젝트의 함수를 호출할 때 사용 화살표 함수(Arrow Functi... JavaScript딥다이브JavaScript