전체 글
-
18장. 함수와 일급 객체책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:35
18장. 함수와 일급 객체 18-1. 일급 객체 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다. 변수나 자료구조에 저장할 수 있다. 함수의 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. JS의 함수는 위의 조건을 모두 만족하므로 일급 객체이다. 함수가 일급 객체라는 것은 함수를 객체와 동일하게 사용할 수 있다는 뜻이다. 함수는 객체이지만 일반 객체와는 차이가 있다. 일반 객체는 호출할 수 없지만 함수 객체는 호출할 수 있다. 함수 객체는 일반 객체에는 없는 함수 고유의 프로퍼티를 소유한다. // 1. const increase = function (num) { return ++num; }; // 2. const auxs = { increase, decrease }; /..
-
17장. 생성자 함수에 의한 객체 생성책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:35
17장. 생성자 함수에 의한 객체 생성 객체 리터럴을 사용하여 객체를 생성하는 방식과 생성자 함수를 사용하여 객체를 생성하는 방식의 장단점을 알아보자. 17-1. Object 생성자 함수 constructor 란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 말한다. 생성자 함수에 의해 생성된 객체를 instance 라 한다. JS는 Object, String,, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수를 제공한다. 특별한 이유가 없다면 객체 리터럴을 사용하는 것이 더 편해 보인다. 17-2. 생성자 함수 객체 리터럴에 의한 객체 생성 방식의 문제점 단 하나의 객체만 생성하므로 동일한 프로퍼티를 갖는 객체를 여러개..
-
16장. 프로퍼티 어트리뷰트책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
16장. 프로퍼티 어트리뷰트 16-1. 내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 JS 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사양하는 의사 프로퍼티(pseudo property) 와 의사 메서드(pseudo method)이다. 내부 슬롯과 내부 메서드는 JS 엔진의 내부 로직이므로 원칙적으로 JS는 직접적으로 접근하거나 호출할 수 있는 방법을 제공하지 않는다. 모든 객체는 [[Prototype]]이라는 내부 슬롯을 갖는다. 원칙적으로 직접 접근 할 수 없지만 __proto__ 를 통해 간접적으로 접근할 수 있다. const o = {}; o.__proto__ // Object.prototype 16-2. 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 JS 엔진은 프로..
-
15장. let, const 키워드와 블록 레벨 스코프책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
15장. let, const 키워드와 블록 레벨 스코프 15-1. var 키워드로 선언한 변수의 문제점 변수 중복 선언 허용 같은 스코프 내에서 중복 선언을 허용한다. 초기화문이 있으면 var 키워드가 없는 것 처럼, 없으면 무시 var x = 1; var y = 1; var x = 100; var y; console.log(x); // 100 console.log(y); // 1 함수 레벨 스코프 함수의 코드 블록만을 지역 스코프로 인정한다. 함수 레벨 스코프는 전역 변수를 남발할 가능성을 높인다. var x = 1; var i = 10; if (true) { var x = 10; } for (var i = 0; i < 5; i++) { console.log(i); // 0 1 2 3 4 } conso..
-
14장. 전역 변수의 문제점책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
14장. 전역 변수의 문제점 global object 클라이언트 사이드 환경(브라우저): window 서버 사이드 환경(Node.js): global ES11 에서 globalThis 로 통일됨. 전역 변수 단점 암묵적 결합(implict coupling): 유효 범위가 너무 커 가독성이 나쁘고 상태 변경의 위험이 높음. 긴 생명 주기: 메모리 리소스 오랜 기간 소비 스코프 체인 상에서 종점에 존재: 변수 검색시 가장 마지막에 검색된다는 뜻. 즉, 검색 속도가 가장 느리다. 네임스페이스 오염: 여러 파일에서 하나의 전역 스코프를 공유한다. 예상치 못한 결과 확률 높음. 전역 변수 사용 억제 방법 변수의 스코프는 좁을수록 좋다. 즉시 실행 함수 즉시 실행 함수를 사용하면 지역 변수가 된다. (functio..
-
4장. 변수책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
4장: 변수 키워드 정리 변수 정의 메모리 실행 컨텍스트 변수 실행 시점 선언 할당 런타임 변수 호이스팅 GC 변수 네이밍 규칙 4-1. 변수란 무엇인가? 왜 필요한가? 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 기억하고 싶은 값을 메모리에 저장, 저장된 값을 읽어 들여 재사용하기 위해 변수를 사용 컴퓨터는 CPU로 연산, 메모리로 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 메모리 셀 하나의 크기는 1byte(8bit) 이며 저장하거나 읽을때는 1byte 단위로 사용한다. 각 셀은 고유의 메모리 주소를 가진다. 고유의 메모리 주소를 변수처럼 사용할 수는 있지만 위험하며 JS 는 개발자의 직접적인 메모리 제어를 허용..
-
로지텍 mx vertical 마우스 샀어요.일상 2022. 2. 18. 20:46
손목이랑 전완근 쪽이 아파서 나중을 대비해서 찾아보다가 9만원쯤에 샀어요. 집에서 쓸거면 키보드도 사야 하는데 고민이 좀 필요하군요. 일단 추가로 있는 버튼들에 트랙패드로 썼던 기능들 몇 개랑 핫코너를 설정했어요. 처음 잡아본 소감은 좀 불편한데 좀 써봐야 알 것 같군요. 당근마켓에 등장할 수도 있어요... 투비컨티뉴.... 투비컨티뉴는 무슨 한 달이 지난 지금 다시 보니까 후회중.... 휠이나 버튼이 계속 먹통이라 스트레스 받음... 짜증나서 트랙패드 사용함.
-
kingsubin.com 도메인을 샀어요.일상 2022. 2. 10. 22:55
https://www.kingsubin.com/ 킹수빈닷컴 About me - kingsubin www.kingsubin.com 대략 1개월 전쯤? 도메인 관련 설정을 찾아보다가 제 도메인이 가지고 싶어서 사봤어요. 사놓고 티스토리에 도메인 연결하는 기능이 있길래 연결해놨다가 헷갈리기도 하고 해서 딴 걸 만들어야겠다고 맘 먹었어요. 맨땅에 만들기에는 시간도 많이 걸리고 힘들 것 같아서 요리조리 찾아보다가 괜찮아 보이는 템플릿이 있길래 이걸 사용했어요. https://github.com/timlrx/tailwind-nextjs-starter-blog GitHub - timlrx/tailwind-nextjs-starter-blog: This is a Next.js, Tailwind CSS blogging s..