일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 싸피
- js
- 클로저
- Strict Mode
- Set과 Map
- 브라우저의 렌더링 과정
- rest api
- Escape Hatches
- 이터러블
- 에러 처리
- await
- BETA
- REACT
- 코어JS
- DEEPDIVE
- Deep Dive
- 표현식과 문
- async
- 제너레이터
- ES6 함수의 추가 기능
- 비동기 프로그래밍
- Ref로 DOM 다루기
- 디스트럭처링 할당
- 스프레드 문법
- 프로미스
- 데이터 타입
- 배열
- Ref로 값 참조하기
- 모듈
- 개발 환경 구축
- Today
- Total
목록DEEPDIVE (5)
코딩을 쉽게 해보자
1. strict mode란? function foo() { x = 10; } foo(); console.log(x); // ? x 변수를 찾아야 x에 값을 할당할 수 있기에 JS 엔진은 먼저 foo 함수의 스코프에서 x 변수의 선언을 검색 => 실패 foo 함수 컨텍스트의 상위 스코프(위 예제에서는 전역 스코프)에서 x 변수의 선언을 검색 JS 엔진은 암묵적으로 전역 객체에 x 프로퍼티를 동적 생성 이때 전역 객체의 x 프로퍼티는 마치 전역 변수처럼 사용 가능 이러한 현상을 암묵적 전역(implict global)이라 한다. => 오류를 발생시키는 원인이 될 가능성이 크다.(var, let, const 키워드를 사용해야함) ES5부터 strict mode(엄격 모드)가 추가되었다. strict mode..
자바스크립트의 모든 값은 데이터 타입을 갖는다. 자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. 구분 데이터 타입 설명 원시(primitive) 타입 숫자(Number) 타입 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재 문자열(String) 타입 문자열 불리언(Boolean) 타입 논리적 참(true)과 거짓(false) undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌(Symbol) 타입 ES6에서 추가된 7번째 타입 객체(object/reference) 타입 객체, 함수, 배열 숫자 타입 C나 자바의 경우 intm long, float, double과 같은 다양한 숫자 타입을 제공하지만..
값 식(표현식 expression)이 평가되어 생성된 결과 var sum = 10 + 20; sum 변수에 할당되는 것은 10 + 20이 아니라 10 + 20이 평가된 결과인 숫자 값 30이다. 값은 다양한 방법으로 생성할 수 있다. 위 예제처럼 식으로 생성할 수도 있지만 가장 기본적인 방법은 리터럴을 사용하는 것이다. 리터럴 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법 정수 리터럴 부동소수점 리터럴: 10.5 2진수 리터럴: 0b01000001 8진수 리터럴: 0o101 16진수 리터럴: 0x41 문자열 리터럴: 'Hello' 등 표현식 값으로 평가될 수 있는 문 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다. // 리터럴 표현식 10 'Hello' ..
변수란 무엇인가? 왜 필요한가? 10 + 20 컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 메모리 셀 하나의 크기는 1바이트(8비트)이며 컴퓨터는 메모리 셀의 크기, 즉 1 바이트 단위로 데이터를 저장하거나 읽어들인다. 연산 결과 30을 재사용해야하는 경우가 있는데 연산 결과 30이 저장된 메모리 공간에 직접 접근하는 것은 큰 오류가 발생할 수 있고 메모리 주소는 코드가 실행될 때 메모리의 상황에 따라 임의로 결정되기에 올바른 방법이 아니다. 이를 위해 변수라는 메커니즘을 사용한다. 변수 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 즉, 값의 위치를 상징적인 이름 ..