전체 글(95)
-
DeepDive JS - 7일차 // 25 - 26장
25장 클래스클래스는 함수, 일급객체임 프로토타입을 추상화 한 것이 클래스 생성자 함수와의 차이점으로는 new 없이 안됨내부 필드 프로퍼티 어트리뷰트 [[Enumerable]] 모두 false임 // 열거 되지 않음.strict mode 적용호이스팅시 tdz에 let, const 처럼 tdz에 빠짐super, extends 상속 지원 const person = (function ( ) { class person {//생성자 함수 //생성자function person (name) { const..
2025.01.23 -
DeepDive JS - 6일차 // 20 - 22,24장
20장 strict mode 암묵적 전역 : 자바스크립트 엔진이 스코프 체인을 통해 검색해서 생성 function A ( ) {B= 5;}A( ) console.log(B); 5 나옴 이러한 것을 피하기 위해 strict mode를 사용함. strict mode 적용시.전역, 함수단위로 적용 하는 것은 피해야함.즉시 실행 함수로 감싼 스크립트 단위로 적용하는 것이 바람직strict mode를 적용 했을때 에러가 발생 암묵적 전역, 변수/함수/매개변수의 삭제, 매개변수 이름의 중복, with문(eval과 같이 쓰는 곳 있으면 도망가야됨) + 일반함수시 this 호출시 undefined 반환 21장 빌트인 객체 원시값과 래퍼객체 문자열, 숫자, 불리언 값에 대해 객체처럼 접근하면 생성되는 임시 객체를 래..
2025.01.22 -
DeepDive JS - 5일차 // 18 - 19장
18장 함수와 일급객체 일급 객체 - 무명 리터럴로 생성가능- 변수나 자료구조(객체, 배열등)에 저장 가능- 매개변수에 전달 가능- 함수의 반환값으로 사용 함수도 위의 조건 다가능, 그러므로 일급객체임. 함수객체의 프로퍼티object.getOwnPropertyDescriptors( ) 메서드로 16장에서 봤던 프로퍼티 어트리뷰트 확인 가능 arguments 유사배열객체 caller 관심없으면 지나쳐도 좋다. 지나가겠습니다.length/name/__proto__/prototype 19장 프로토타입자바스크립트는 프로토타입 기반의 객체지향 프로그래밍 언어자바스크립트를 이루고 있는 거의 "모든 것"이 객체 생성자 함수의 메서드를 외부로 빼고 프로토타입으로 접근 가능하게 만들면 new 연산자로 생성한 인..
2025.01.21 -
DeepDive JS - 4일차 // 14 ~ 17장
14장 전역 변수의 문제점 변수의 생명 주기지역변수의 생명주기는 함수의 생명 주기와 일치.전역변수의 생명주기는 전역객체의 생주기와 일치전역 변수 문제점 암묵적결합 : 어디서든 전역을 참조, 변경 가능긴 생명 주기 : 전역 변수는 생명주기가 길다스코프 체인 상 종점에 존재 : 전역 변수의 검색 속도가 가장 느리다.네임스페이스 오염 : 파일이 분리되어 있어도 하나의 전역 스코프를 공유한다는 것.다른 파일에 동일한 이름 명명 전역 변수 및 전역 함수가 같은 스코프내에 존재할 경우 예상치 못한 결과 전역 변수의 사용을 억제하는 방법즉시 실행함수/ 네임스페이스 객체/모듈 패턴(클로저(캡슐화))/ES6 모듈 15장 let, const 키워드와 블록 레벨 스코프var : 전역(함수내에선 블록 레벨), 호이스..
2025.01.20 -
DeepDive JS - 3일차 // 12,13,23장
12장 함수 (=값으로 평가됨, 값은 객체임, 고로 함수는 객체)function plus ( x ,y )//매개변수 {return x + y //인수 } //반환값 plus(3,3)plus : 함수이름 x,y 매개변수 , 인수return 반환값 plus( ) 함수 호출 함수 사용 이유함수를 통해 중복 제거, 코드 재사용 가능함수 정의function plus ( ) { } 함수 선언문var plus = function ( ) { } 함수 표현식var plus = (a,b) => a+b 화살표 함수 var plus = new Function ('a' ,'b', 'return a+b');함수 선언문 표현식이 아닌 문, function plus (x,y) { return x +y } 를 실행하면 완료 값 ..
2025.01.17 -
DeepDive JS - 2일차 // 08장 ~11장
08장 제어문 블록문 {} 이렇게 , 객체랑 헷갈리면 안됨 조건문 if..else, switch /반복문 for, while, do...while, /break문/continue문 09장 타입 변환과 단축 평가 명시적타입변환 빌트인 메서드 같은 것들 String( ) , toString( ), Number( ) , parseInt( ), parseFloat( ) 암묵적 타입변환1 + '1 ' // '11'!1 // false falsy 한 값 : NaN, 0, ' ', null, false, undefined, 단축 평가 : 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것ex) && , ||, .?(옵셔널 체이닝 연산자) 와 ?? (null 병합 연산자)단축..
2025.01.16