Yoonsang's Log

고정 헤더 영역

글 제목

메뉴 레이어

Yoonsang's Log

메뉴 리스트

  • 홈
  • 분류 전체보기
    • JavaScript & TypeScript
    • Mobile
    • AWS
    • WEB

검색 레이어

Yoonsang's Log

검색 영역

컨텐츠 검색

JavaScript & TypeScript

  • [JavaScript] 이터레이터와 제너레이터

    2023.01.21 by Yoonsang's Log

  • 모던 자바스크립트 딥다이브 책읽기 스터디 후기

    2022.03.30 by Yoonsang's Log

  • 프로토타입 (Prototype)

    2022.03.01 by Yoonsang's Log

  • 프로퍼티(Property)

    2022.01.30 by Yoonsang's Log

  • 스코프(Scope, 유효범위)

    2022.01.15 by Yoonsang's Log

  • 이펙티브 타입스크립트

    2022.01.09 by Yoonsang's Log

  • 호이스팅 (Hoisting)

    2022.01.02 by Yoonsang's Log

  • 모던자바스크립트 딥다이브

    2021.12.30 by Yoonsang's Log

[JavaScript] 이터레이터와 제너레이터

이터레이터 정의 ES6부터는 Array, Set, Map 등을 순회하기 위한 이터레이션 프로토콜(iteration protocol)이라는 것이 도입되었다. 아래 예제 코드를 살펴보면, const array = [1,2,3] for(let i = 0; i 1,2,3 } const set = new Set([1,2,3]) for(let i = 0; i undefined, undefined, undefined } const map = new Map(['a', 1], ['b', 2], ['c',3]) for(let i = 0; i < 3; i++) { console.lo..

JavaScript & TypeScript 2023. 1. 21. 15:47

모던 자바스크립트 딥다이브 책읽기 스터디 후기

모던 자바스크립트 딥다이브 책 읽기 스터디를 2021년 12월 31일부터 2022년 3월 21일까지 약 3개월 간 진행하여 완료했다. 이번 포스팅에서는 스터디를 진행하면서 느낀점과 늘 스터디 구성원으로만 참여하다가 처음으로 스터디를 기획하면서 어떤 부분이 개선되어야 할지에 대해 적어보려고 한다. 스터디 기획 모던자바스크립트 딥다이브 모던자바스크립트 딥다이브 프론트엔드 개발자가 되겠다 마음 먹고도 6개월이 넘게 지났다. 아직 제대로 할 수 있는게 없는 것 같고 기본기가 부족한 느낌이 강하다. 학교 수업에서 간단하게 배운 JavaScript가 전부인 상태에 yanggak.tistory.com 스터디를 처음 시작하려고 계획할 때 이전에 작성한 블로그 포스팅인데, JavaScript 배경 지식이 부족하다고 생각..

JavaScript & TypeScript 2022. 3. 30. 03:33

프로토타입 (Prototype)

자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다. 자바스크립트의 클래스(ES6 이후)는 프로토타입 기반 패턴을 활용해서 클래스 기반 객체지향 언어(C++, JAVA 등)를 사용하는 것처럼 제공된다. 클래스에 관한 내용은 클래스 포스팅에서 자세히 다루고, 오늘은 클래스 기반 객체지향 언어보다 훨씬 강력한 객체지향 프로그래밍 능력을 가진 프로토타입이 무엇인지 살펴보자. 그리고 어떠한 프로퍼티를 검색하면 MDN 등에서 Object.prototype.~~ 과 같이 prototype 객체 내부에 있는 프로퍼티를 자주 보았을 텐데 어떤 프로퍼티는 prototype 객체가 아니기도 해서 헷갈렸던 적이 있는데 그 부분도 자세히 살펴보자! 프로토타입 체인 ..

JavaScript & TypeScript 2022. 3. 1. 01:44

프로퍼티(Property)

자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태(value, writable, enumerable, configurable)를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의한다. Object.getOwnPropertyDescriptor 메서드를 사용해서 PropertyDescriptor 객체를 통해 간접적으로 확인할 수 있다. 프로퍼티는 데이터 프로퍼티와 접근자 프로퍼티로 구분할 수 있다. 데이터 프로퍼티 (data property) 위에서 살펴보았던 value, writable, enumerable, configurable 프로퍼티 어트리뷰트가 데이터 프로퍼티에 속한다. Object.getOwnPropertyDescriptor 메서드를 사용해서 PropertyDescriptor 객체를 살..

JavaScript & TypeScript 2022. 1. 30. 01:11

스코프(Scope, 유효범위)

코드블록? 스코프? 블록 레벨 스코프? 함수 레벨 스코프? 강의를 듣거나 공식문서를 읽을때 흔히 보이는 키워드들이다. 코드블록과 스코프는 어떤점에서 차이가 있는건지, 블록 레벨과 함수 레벨 스코프는 어떤 차이가 있는지 확실한 이해가 없이 개발을 하고 있었고 "아 왜 에러가 뜨지" 하며 감으로 그리고 경험으로 고쳐가며 근본적인 문제를 놓쳐 왔던 것 같다. 앞서 작성했던 글들도 스코프에 대한 이해가 생기니 원리가 이해가 된다. 그리고 자바스크립트 엔진의 관점에서 값들이 어떻게 연결이 되어 있는지 스코프 체인을 통해 이해했다. 스코프를 통해 생각보다 많은 부분이 결정되고 있다. 그렇기 때문에 이해가 부족하면 자바스크립트의 다른 성격을 이해하는것이 힘들 수 있다. 추후 포스팅할 자바스크립트의 모든 코드의 평가와..

JavaScript & TypeScript 2022. 1. 15. 14:23

이펙티브 타입스크립트

자바스크립트의 자기 멋대로 추론해버리는 동적 타이핑이나 아주아주 많이많이 유연한 성격 등 여러가지 이유로 최근 타입스크립트가 주목받고 있다. 생각보다 타입에 의한 오류는 많이 일어나고 그 밖에도 여러가지의 오류를 사전에 커버가 가능한 든든한 타입스크립트를 공부하고자 한다. 책은 이펙티브 타입스크립트로 결정했다. 여러 현직 개발자분들께 추천받기도 했지만 아이템별로 되어 있는 부분이 각 아이템을 완료했을때의 사소한 보상심리를 만족시켜 오래 달릴 수 있는 동력의 연료가 되어줄 것이라 생각했다. 타입스크립트는 자바스크립트의 상위 개념이다. 즉, 모든 자바스크립트는 타입스크립트이다. 그렇지만 반대가 성립하지는 않는다. 모든 타입스크립트가 자바스크립트 일 수는 없다. 아무튼, 자바스크립트가 주는 매우 자유도가 높은..

JavaScript & TypeScript 2022. 1. 9. 11:59

호이스팅 (Hoisting)

호이스팅(Hoisting)은 자바스크립트에서 가장 유명한(?) 특징이다. 우선, Hoist 의 사전적 의미는 들어올리다, 게양하다 의 뜻이 있다. 국기 게양이 영어로 flag hosting 이라고 한다. 생각보다 실생활에 밀접한 영어 단어였던 호이스팅.. 사실 나는 학교수업에서 자바스크립트를 이용할때 처음 들어봤다. 아무튼 호이스팅을 이해하기 위해 예제를 먼저 살펴보자. console.log(score); var score; 모던 자바스크립트 딥다이브책 [예제 04-05] 음.. 이건 인터프리터 특성 상 위에서 아래로 한 줄씩 순차적으로 실행되어야 하니까 참조 에러(ReferenceError)가 발생해서 빨간색 좀 보겠군! 이라고 생각했지만 undefined가 출력이 된다. 즉, 잘 실행이 된다. 이번에..

JavaScript & TypeScript 2022. 1. 2. 18:53

모던자바스크립트 딥다이브

프론트엔드 개발자가 되겠다 마음 먹고도 6개월이 넘게 지났다. 아직 제대로 할 수 있는게 없는 것 같고 기본기가 부족한 느낌이 강하다. 학교 수업에서 간단하게 배운 JavaScript가 전부인 상태에서 React, React native 부터 하니까 본질적인 부분에서 많이 놓치는것이 많은 것 같다는 생각이 들었다. 아주 간단하게 구현이 가능한 것도 이미 오픈소스에 의존적으로 들여진 습관때문에 스스로 생각할 기회를 없애고 있었다. 이래선 안되겠다고 생각하고 있던 차에 NHN Cloud에서 열리는 컨퍼런스에 참여했다. 여러 세션이 있었는데 그 중 "결국 자바스크립트를 알아보기로 했다" 라는 주제의 세션을 인상깊게 보았고 기본기를 채우자고 결심했다. [유튜브 링크] https://youtu.be/HoqMPUk..

JavaScript & TypeScript 2021. 12. 30. 21:43

추가 정보

인기글

최신글

페이징

이전
1
다음
GITHUB ABOUT ME
푸터 로고 © Yoonsang's Log
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바