- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- deep dive
- 이터러블
- 백준 실버
- git
- 네트워크
- error
- html
- 모던 자바스크립트 deep dive
- JavaScript
- 백준
- get
- 웹
- 비동기
- 자바스크립트
- git error
- 상태관리
- Java Script
- 알고리즘
- es6
- js
- 그림으로 배우는 http&network
- http
- 프론트엔드
- async
- map
- React
- 모던 자바스크립트
- Angular
- 에러처리
- C++
목록분류 전체보기 (103)
sharingStorage

21.1 자바스크립트 객체의 분류 자바스크립트 객체는 다음과 같이 크게 3개의 객체로 분류할 수 있다. 표준 빌트인 객체 - 표준 빌트인 객체는 ECMAScript 사양에 정의된 객체를 말하며 애플리케이션 전역의 공통 기능을 제공한다. 이는 자바스크립트 실행환경과 관계없이 언제나 사용할 수 있다. 표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공된다. 따라서 별도의 선언 없이 전역 변수처럼 언제나 참조할 수 있다. 호스트 객체 - 호스트 객체는 ECMAScript 사양에 정의되어 있지 않지만 자바스크립트 실행 환경에서 추가로 제공하는 객체를 말한다. 브라우저 환경에서는 DOM, BOM, Canvas, XMLHttpRequest, Web Storage 등 과 같은 클라이언트 사이드 Web API를 호스트 ..

객체지향 프로그래밍 객체지향 프로그래밍은 프로그램을 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나 여러 개의 독립적 단위, 즉 객체의 집합으로 프로그래밍을 표현하는 프로그래밍 패러다임을 말한다. 객체지향 프로그래밍은 실세계의 실체를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작하는데 실체는 특징이나 성질을 나타내는 속성을 가지고 있고 이를 통해 실체를 인식하거나 구별할 수 있다. 위와 같이 객체의 상태를 나타내는 데이터와 상태 데이터를 동작을 하나의 논리적인 단위로 묶어 생각하는 것이 객체지향 프로그래밍이다. 19.2 상속과 프로토타입 자바스크립트는 프로토타입을 기반으로 상속을 구현하여 불필요한 중복을 제거한다. 위의 코드에서 getArea() 메..

localStorage, sessionStorage는 무엇일까? - 정의 웹 스토리지 객체인 localStorage와 sessionStorage는 브라우저 내에 키-값(key-value) 쌍을 저장할 수 있게 해줍니다. - localStorage vs sessionStorage 이 두개의 매커니즘의 차이점은 데이터가 어떤 범위 내에서 얼마나 오래 보존되느냐에 있습니다. 세션 스토리지는 웹페이지의 세션이 끝날 때 저장된 데이터가 지워지는 반면, 로컬 스토리지는 웹페이지의 세션이 끝나더라도 데이터가 지워지지않습니다. localStorage localStorage는 페이지를 새로고침하거나 심지어 다시 실행하더라도 데이터가 사라지지 않고 남아있지만 sessionStorage는 페이지를 새로고침할때는 데이터가 남..

18.1 일급 객체 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 일급 객체는 다음과 같은 조건을 만족해야한다. 무명의 리터럴로 생성할 수 있다. 즉 런타임에 생성이 가능하다. 변수나 자료구조에 저장할 수 있다. 함수의 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. 일반 객체는 호출할 수 없지만 함수객체는 호출할 수 있으며 함수 객체는 일반 객체에는 없는 함수 고유의 프로퍼티를 소유한다. 18.2 함수 객체의 프로퍼티 console.dir 메서드를 사용하면 함수 객체 내부를 들여다볼 수 있다. 18.2.1 arguments 객체 선언된 매개변수의 개수와 함수를 호출할 때 전달하는 인수의 개수를 확인하지 않는 자바스크립트의 특성 때문에 함수가 호..

생성자 함수에 의한 객체 생성 객체를 생성할 수 있는 방법은 객체 리터럴과 생성자 함수를 사용하는 방식이 있다. 17.1 Object 생성자 함수 new연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다. 생성자 함수란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 말한다. 생성자 함수에 의해 생성된 객체를 인스턴스라한다. 자바스크립트는 String, Boolean, Function, Array, Date등의 빌트인 생성자를 제공한다. String, Number, Boolean 빌트인 생성자 함수 Array, Date 생성자 함수 17.2.1 객체 리터럴에 의한 객체 생성 방식의 문제점 객체를 생성하는 방식은..

16.1 내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 자바스크릅티 엔젠의 구현 알고리즘을 설명하기 위해 ECMAScript 사앙에서 사용하는 의사 프로퍼티와 의사 메서드다. 16.2 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본 값으로 자동 정의한다. 프로퍼티의 상태란 아래의 네가지를 말한다. 프로퍼티의 값 value 값의 갱신 가능 여부 writable 열거 가능 여부 enumerable 정의 가능 여부 configuration 프로퍼티 어트리뷰트는 자바스크립트 엔진이 관리하는 내부 상태 값이여서 직접 접근할 수 없지만 Object.getOwnPropertyDescriptor 메서드를 사용하여 간접적으..

15.1 var 키워드로 선언한 변수의 문제점 15.1.1 변수 중복 선언 허용 var키워드로 선언한 변수는 중복 선언이 가능하다. var x=1; var y=2; var x=100; var y; console.log(x); //100 위와 같이 동일한 이름의 변수가 이미 선언되어 있는 것을 모르고 변수를 중복 선언하면서 값을 할당하면 의도하지 않게 변수의 값이 변경되는 부작용이 발생한다. 15.1.2 함수 레벨 스코프 var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다. 따라서 함수 외부에서 var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 모두 전역 변수가 된다. var x=1; if(true){ var x=10; } console.log(x); //10 15.1..

스코프란? 스코프(유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. var 키워드로 선언한 변수와 let, const로 선언한 변수의 스코프도 다르게 동작한다. 스코프 내에서 식별자는 유일해야하지만 다른 스코프에는 같은 이름의 식별자를 사용할 수 있다. 즉 식별자는 네임스페이스다. function foo(){ var x =1; var x=2; // var 키워드로 선언된 변수는 같은 스코프 내에서 중복 선언을 허용 // 따라서 아래 변수 선언문은 js엔진에 의해 var 키워드가 없는 것처럼 동작 console.log(x); //2 } foo(); function bar(){ let x=1; //let이나 const로 선언된 변수는 같은 스코프 내에서 중복 선언을 허용하..

12장 함수 12.4.1 함수 선언문 함수는 함수 이름으로 호출하는 것이 아니라 함수 객체를 가리키는 식별자로 호출한다. var add1 = function add2 (x,y) { return x + y; }; console.log(add1(1,2)); // 3 식별자인 add1으로 함수를 호출한다. 12.4.3 함수 생성 시점과 함수 호이스팅 console.log(add(2,4)); // 6 console.log(sub(3,1)); // TypeError: sub is not a function //함수 선언문 function add (x,y){ return x+y; } //함수 표현식 var sub = function(x,y){ return x-y; } 위 예제와 같이 함수 선언문으로 정의한 함수는 ..

11장 원시 값과 객체의 비교 자바스크립트가 제공하는 7가지 데이터 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다. 이번 장을 시작하기 앞서 원시 타입과 객체 타입의 차이점을 비교해보도록 하겠다. 원시 타입 객체 타입 값의 유형 변경 불가능한 값(immutable) 변경 가능한 값(mutable) 변수에 저장되는 값 변수에 실제 값이 저장됨 변수에 참조 값이 저장됨 복사되어 전달되는 방식 원시 값이 복사되어 전달 (값에 의한 전달) pass by value 참조값이 복사되어 전달 (참조에 의한 전달) pass by reference 11.1 원시 값 원시 값은 변경 불가능 하므로 값을 선언한 후 값의 할당, 재할당할 때의 변수가 참조하는 메모리 공간의 주소가 변경된다. 11.1.1 문자열과 불변..