왜 공부하는가! 이번 주 스터디 예습! Ajax 아약스 아니구 Ajax(Asynchronous JavaScript and XML)이란 자바스크립트를 사용해서 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱
우리의 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 이용한다. 하지만 전통적인 콜백 패턴은 콜백 헬로 인해 가독성이 나쁘고 비동기 처리 중 발생한 에러의 처리가 곤란하며 여러 개의 비동기 처리를 한 번에 처리하는데도 한계가 있다.
ES6에서 도입된 제너레이터는 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수다.
스택은 하나이다. 그래서 자바스크립트는 보통 single threaded라 부른다. 그래서 원래는 병렬처리 그런거 할 줄 모르는 분. 근데 setTimeout 같은 코드는 바로 실행할 수가 없는 코드(하나씩 스택에서 pop해야 하는데!!)이다. 그래서 잠깐 대기실
40.1 이벤트 드리븐 프로그래밍 어플리케이션이 특정 타압의 이벤트에 대해서 반응해 어떤 일을 하고 싶다면 해당 타입의 이벤트가 발생 시 호출될 함수를 브라우저에게 알려 호출을 위임한다. 이때 이벤트 발생 시 호출 함수를 이벤트 핸들러(evnet handler)라 하
41.1호출 스케일링 함수를 명시적으로 호출하지 않고 일정 시간이 경과후 함수호출을 예약하려면 타이밍 함수를 쓰며 이를 호출 스케줄링(sheduling a call)이라 한다. 타이머 함수는 ECMAScript 사양에 정의된 빌트인 함수는 아니지만 브라우저 환경과 No
우선 왜 공부할까? 프로그래머스 과제를 하면서 this를 너무 남발하는 느낌이 들었다. 또한 this가 정확히 무엇을 가리키고 있는지 거의 일일히 console.log를 찍어봤는데 예측 가능한 프로그래밍을 해보잣 👊👊 this 키워드 객체는 상태를 나타내는 프로퍼
이제 화살표 함수를 해야짓! 하는데 바로 다음장의 첫 문장이 "execution context는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다." 라고 적혀있다. '이건 공부해야하는구나' 직감이 왔다. 큰 그림을 그려보자! 23.1 소스 코드의 타입 ECMASc
스코프(유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념. 스코프의 이해가 부족하면 다른 개념을 이해하기 어렵다. 더욱이 다른 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있다. 그리고 var 키워드로 선언한 변수와 let
14.1 변수의 생명주기 14.1.1 지역 변수의 생명주기 변수는 선언에 의해 생성되고 할당을 통해 값을 얻고 언젠가는 소멸하는 생명주기가 있다. 근데 전역 변수는 애플리케이션의 생명주기와 같다. 하지만 함수 내부에서 선언된 지역 변수는 함수가 호출되면 생성되고 함수
1. var 키워드로 선언한 변수의 문제점 ES5까지 변수를 선언할 수 있는 유일한 방법은 var였다. var 키워드로 선언된 변수는 다음과 같은 특징이 있다. 15.1.1 변수 중복 선언 허용 var 키워드로 선언한 변수는 같은 스코프 상에서도 중복 선언이 가능.
18.1 일급객체 다음과 같은 조건을 만족하는 객체를 일급 객체라고 한다. 1. 무며의 리터럴로 생성할 수 있다. 즉 런타임에 생성이 가능하다. 2. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다. 3. 함수의 매개변수에 전달할 수 있다. 4. 함수의 반환값으로
자바스크립트는 명령형, 함수형, 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다.클래스 도입이 새로운 OOP 모델은 아니며, 기존 프로토타입 기반 패턴의 문법설탕(syntatic sugar)자바스크립트는 객체 기반의 프로그래밍 언어이며
16.1 내부 슬롯과 내부 메서드 앞으로 살펴볼 프로퍼티 어트리뷰트를 이애하기 위해 먼저 내부 슬롯과 내부 메서드의 개념에 대해 알아보자. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티(
잠깐! 왜 공부할까? 객체에 대해서 깊이 공부해본적이 없었다. 그러나 프로젝트를 하면서 object를 배열 안에 넣기도 하고 다양하게 사용을 하는데 조금 더 알고 싶었으며 new 역시 클론 코딩을 하며, 그냥 사용을 하고 무슨 뜻인지 몰랐다. 또한 왜 생성자를 통해서
프로토타입이 소유한 프로퍼티(메서드 포함)를 프로토타입 프로퍼티인스턴스가 소유한 프로퍼티를 인스턴스 프로퍼티라고 부른다.➡️ 프로토타입 체인을 따라 프로토타입을 검색하여 덮어 쓰는 것이 아니라 ➡️ 인스턴스 프로퍼티로 추가! ➡️ 이 때 인스턴스 메서드 sayHello
절반은 맞는이야기. 자바스크립트는 프로토타입 기반 객체지향 언어이다. ES5 에서는 클래스 없이도 다음과 같이 생성자 함수와 프로토타입을 통해 상속을 구현클래스는 사실 함수이며 프로토타입 기반 패턴을 클래스 기반 패턴처럼 사용할 수 있도록 하는 syntactic sug
26.1 함수의 구분
서론 : 왜 공부하는가? 일단 학기 중에 파이썬과 JS를 병행하면서 헷갈릴 때도 많았고 그래서 손코딩으로 과제를 낼 때 len() 대신에 .length를 과감하게 질러버린 적도 있었다. 그런 면에서 자료구조 B+은 정말 놀라운 성적. 배열의 메서드를 조금 더 많이 다루
27.8.7 Array.prototype.concat concat메서드는 인수로 전달된 값들을 원본 배열의 마지막 요소로 추가한 새로운 배열을 반환. 인수로 전달한 값이 배열인 경우 배열을 해ㅊ하여 새로운 배열의 요소로 추가. 원본 배열은 변경되지 않는다 > ## T
27.9 배열 고차 함수 배열하다가 왜 갑자기 고차함수가 나와요? 🙋 고차함수(High - Order Function,HOF)는 함수를 인수로 전달받거나 함수를 반환하는 함수! 자바스크립트는 일급 객체여서 함수를 값처럼 인수로 전달할 수 있으며 반환도 가능. 고차 함
iteration protocol은 순회 가능한(itrable)한 자료구조를 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙이다. ES6에서는 순회 가능한 자료구조를 이터레이션 프로토콜을 준수하는 이터러블로 통일해 for...of문, 스프레드 문법,
35장 스프레드 문법 ES6에서 도입된 스프레드 문법spread syntax(전개 문법)은 ... 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든다. 스프레드 문법을 사용할 수 있는 대상은 Array, String, Map, Set, DOM
47장 | 에러처리 | 47.1 에러 처리의 필요성 에러가 발생하지 않는 코드를 작성하는 것은 불가능. 따라서 에러는 언제나 발생할 수 있다. 발생한 에러에 대처하지 않고 방치해두면 프로그램은 강제 종료됨. try...catch 문을 사용해 발생한 에러에 적절하게