배워서 남주는 개발자 :)
반응형

분류 전체보기 132

[ JS 딥다이브 ] 7주차 : 객체 리터럴

1. 객체란 JS는 객체 기반의 프로그래밍 언어이다. 원시값을 제외한 나머지 값(함수, 배열, 정규식 등)은 모두 객체다. 원시 타입은 하나의 값만 나타내지만, 객체는 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조이다. 또한 원시 값은 변경이 불가능하지만, 객체는 변경이 가능하다. ➡️ 객체는 0개 이상의 프로퍼티로 구성된 집합이고, 프로퍼티는 key - value로 구성되어 있다. let person = { firstName: 'Jason', //

JS 2023.03.10

[ JS 딥다이브 ] 6주차 : 타입 변환과 단축 평가

타입 변환 JS의 모든 값은 타입을 가지고 있음. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환 가능 명시적 타입 변환 / 타입 캐스팅 : 의도적인 타입 변환 암묵적 타입 변환 / 타입 강제 변환 : 의도와 상관없이 표현식을 평가하는 중에 JS엔진에 의해 암묵적으로 변환 *원시값은 변경이 불가능한 값이므로 변경할 수 없음 타입 변환이란 기존 원시값을 사용해서 다른 타입의 새로운 원시값 을 생성하는 과정. 암묵적 타입 변환 2-1. 문자열 타입으로 변환 템플릿 리터럴의 표현식 삽입 : 평가 결과를 문자열 타입으로 암묵적 변환 0 + `` // '0' 2-2. 숫자 타입으로 변환 산술연산자 / 비교연산자 삽입 : 피연산자 중에서 숫자 타입이 아닌 값을 숫자 타입으로 암묵적 타입 변환 수행 2-3. 불..

JS 2023.03.05

[ JS 딥다이브 ] 5주차 : 제어문

제어문 → 조건에 따라 코드블록을 실행 (조건문)하거나 반복 실행 (반복문)할 때 사용 → 일반적인 코드는 위에서 아래로 순차적으로 실행 ⇒ 이때, 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어 가능 🛑 하지만 코드의 실행 순서가 변경된다는 것은 직관적인 코드의 흐름을 혼란스럽게 할 수 있음 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치는 단점 이 있음 ⇒ 가독성이 좋지 않은 코드는 오류를 발생 시키는 원인이 됨 👉🏻 forEach, map, filter, reduce같은 고차함수 를 사용한 함수형 프로그래밍 기법에서는 제어문의 사용을 억제하여 복잡성을 해결하려고 노력 함 8.1 블록문 0개 이상의 문을 중괄호로 묶은 것 JS는 블록문을 하나의 실행단위로 취급함 8.2 조건문 주어진 조건식의..

JS 2023.03.05

[ JS 딥다이브 ] 4주차 : 연산자

연산자란? 하나 이상의 표현식을 대상 으로 산술/ 할당/ 비교/ 논리/ 타입/ 지수연산 등을 수행해 하나의 값으로 만드는 것 이때, 연산의 대상을 피연산자 라고 함 피연산자는 값으로 평가될 수 있는 표현식이어야 함 그리고 피연산자와 연산자의 조합으로 이루어진 연산자 표현식도 값으로 평가될 수 있는 표현식임 1.산술 연산자 의미 : 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자값을 만드는 연산자 (산술 연산이 불가능한 경우, NaN을 반환) 1-1.이항 산술 연산자 2개의 피연산자를 산술연산하여 숫자 값을 만드는 연산자 모든 이항 산술 연산자는 피연산자의 값을 변경하는 side effect가 없음 = 피연산자의 값이 바뀌지 않고 항상 새로운 값을 만듦 1-2.단항 산술 연산자 1개의 피연산자를 산술..

JS 2023.03.05

[ JS 딥다이브 ] 3주차 : 데이터 타입

데이터 타입 : 값의 종류(JS의 모든 값은 데이터 타입을 갖고 있음) 1. 숫자 타입 다른 언어(JAVA, C)와 다르게 JS는 단 하나의 숫자 타입만 존재 함 ECMAScript 사양에 따르면 숫자 타입은 배정밀도 64비트 부동 소수점 형식을 따름 → 즉, 모든 수를 실수 로 처리하고, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않음 ⇒ 정수로 표시가 된다고 해도 사실은 실수라는 것을 의미함 (👉🏾 정수로 표시되는 수끼리 나누더라도 실수가 나올 수 있음!) + 숫자 타입은 추가적으로 아래 세가지 특별한 값도 표현 가능 Infinity : 양의 무한대 -Infinity : 음의 무한대 NaN : 산술 연산 불가 (Not - a -Number) → JS는 대소문자 구분을 하기 때문에 NAN, N..

JS 2023.03.05

[ JS 딥다이브 ] 2주차 : 표현식과 문

5.1 값 값은 식(표현식)이 평가되어 생성된 결과를 의미함. (평가 : 식을 해석해서 값을 생성하거나 참조하는 것을 의미. ) 모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장됨. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있음. 값을 생성하는 기본적인 방법 : 리터럴 을 사용하는 것. 5.2 리터럴 리터럴 : 사람이 이해할 수 있는 문자/ 약속된 기호를 사용해 값을 생성하는 표기법 JS 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성함. 5.3 표현식 표현식은 값으로 평가될 수 있는 문. 즉 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조 위의 리터럴도 값으로 평가되기 때문에 표현식임. 5.4 문 문은 프로그램을 구성한느 기본 단위이자..

JS 2023.03.05

[JS 핵심개념] 1주차 : 변수 란 무엇일까? Variable

본 내용은 모던 자바스크립트 딥다이브 책을 읽고 공부목적으로 정리한 내용입니다. 1) 변수란 무엇인가? 변수 : 변하는 수? 라고만 생각했다. 변수 : 프로그래밍 언어에서 데이터를 관리 하기 위한 핵심 개념 컴퓨터는 CPU를 사용해 연산을 하고, 메모리를 사용해 데이터를 기억함. 메모리는 데이터를 저장할 수 있는 메모리셀의 집합체. 메모리 셀 하나의 크기는 1바이트 (8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽음. 각 셀은 고유의 메모리 주소를 갖는다. 이 메모리 주소는 메모리 공간의 위치를 나타내며, 0 부터 시작해서 메모리의 크기만큼 정수로 표현됨. 컴퓨터는 모든 데이터를 2진수로 처리함. 따라서 메모리에 저장되는 데이터는 데이터의 종류와 상관없이 모두 2진수..

JS 2023.01.10
728x90