본문 바로가기

코드잇 스프린트 6기/JS Q.R 스터디21

[JS Q.R 스터디] 이터러블 최종 수정 : 2024-04-15 34장. 이터러블 1, 이터레이션 프로토콜 이터레이션 프로토콜(iteration protocol)은 순회 가능한(iterable) 데이터 컬렉션(자료구조)을 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙이다. ES6에서는 순회 가능한 데이터 컬렉션(배열, 문자열, 유사 배열 객체, DOM 컬렉션 등)을 이터레이션 프로토콜을 준수하는 이터러블로 통일하여 for..of 문, 스프레드 문법, 배열 디스트럭처링 할당의 대상으로 사용할 수 있도록 일원화했다. A. 이터러블 프로토콜(iterable protocol) 이터러블 플로토콜을 준수한 객체를 이터러블이라 하며, for...of 문으로 순회할 수 있으며 스프레듬 ㅜㄴ법과 배열 디스트럭처링 할당의 대상으로 .. 2024. 4. 15.
[JS Q.R 스터디] 연산자 최종 수정 : 2024-04-15 7장 연산자 연산자(operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. 이때 연산의 대상을 피연산자(operand)라 한다. 1. 산술 연산자(arithmetic operator) 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 산술 연산이 불가능할 경우, NaN을 반환한다. 이항(binary) 산술 연산자 +, -, *, /, % 단항(unary) 산술 연산자 ++, --, +, - + : 피연산자를 숫자 타입으로 변환하여 반환한다. 피연산자 중 문자열이 있다면, 문자열 연결 연산자로 동작한다. - : 양수 -> 음수, 음수-> 양수로 반전한 값을 반환한다. +와 마찬가지.. 2024. 4. 15.
[JS Q.R 스터디] 표현식과 문 최종 수정 : 2024-04-15 5장. 표현식과 문 1. 값 값(value)는 식(표현식, expression)이 평가(evaluate)되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. 모든 값은 변수에 할당되며, 데이터 타입을 갖는다. 또한, 메모리에 2진수, 즉 비트의 나열로 저장된다. 2. 리터럴(literal) 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)을 말한다. 사람이 이해할 수 있는 문자 또는 미리 약속된 기호로 표기한 코드인 것이다. 자바스크립트 엔진은 코드가 실행되는 시점인 런타임(runtime)에 리터럴을 평가해 값을 생성한다. 3. 표현식(expression) 값으로 평가될 수 있는 문(sta.. 2024. 4. 15.
[JS Q.R 스터디] 변수 / 스코프 / 전역 변수 / let, const, 블록레벨 스코프 최종 수정 : 2024-04-14 4장. 변수 1. 변수란 무엇이고, 왜 필요한가? 변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념이다. 이를 설명하기 위해 변수가 어떤 역할을 수행하는지에 대한 원리를 알아볼 필요가 있다. 컴퓨터는 연산과 기억을 수행하는 부품이 나눠져 있다. 컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. 메모리(memory)는 데이터를 저장할 수 있는 메모리 셀(memory cell)의 집합체이다. 하나의 크기는 1바이트(8비트)이며, 컴퓨터는 1바이트 단위로 데이터를 저장하거나 읽어들인다. 또한 각 셀은 고유의 메모리 주소(memory address)를 갖는다. 이 메모리 주소는 메모리 공간의 위치를 나타낸다. 컴퓨터는 모든 데이터를 2진수로 처리.. 2024. 4. 15.
[JS Q.R 스터디] - 프로그래밍 최종 수정 : 2024-04-14 1장 프로그래밍 1-1. 프로그래밍이란? 프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 이를 위해 요구되는 것이 문제 해결 능력이다. 이를 함양하는 데 알고리즘 학습은 큰 도움이 되지만 문제 해결 능력은 더 큰 차원의 능력이다. 해결해야 할 문제(요구사항)을 이해한 후, 적절한 문제 해결 방안을 정의해야 한다. 다시 말해, 프로그래밍이란 정확하고 상세하게 요구사항을 코드로 설명하는 작업이다. 이를 위해서는 Computational thinking(컴퓨팅 사고)가 필요하다. 문제 해결 능력은 직감과 직관의 영역이라 할 수 있는데, 이는 문제를 바라보는 우리의 사고와 경험에 영향을 받는다.우리에게는 너무나 당연해서 절차를 생각하지 않고 바로 결과를 도출하.. 2024. 4. 14.