본문 바로가기

JavaScript/모던자바스크립트 Deep Dive 스터디6

[모던JS DeepDive] 7장 연산자 연산자란? 연산자: 하나 이상의 표현식을 대상으로 다양한 연산을 수행하여 하나의 값을 만드는 것 - 피연산자: 연산의 대상, 표현식이여야 함(값으로 평가될 수 있는) - 연산자 표현식도 값으로 표현될 수 있는 표현식이여야 함 다양한 연산자 대분류 중분류 연산자 의미 부수효과* 산술 연산자 - 수학적 계산을 수행하여 새로운 값 생성 - 불가능할 경우 NaN 반환됨 이항 산술 연산자 (피연산자가 2개) +, -, *, /, % 사칙연산, 나머지 X 단항 산술 연산자 (피연산자가 1개) ++, -- 증가, 감소 - 전위: 피연산자의 값을 먼저 증/감시킨후 다른 연산 수행 - 후위: 먼저 다른 연산을 수행후 피연산자 값을 증/감시킴 O + 효과 없음 - 숫자 타입이 아닌 피연산자에 사용시 숫자 타입으로 변환하여.. 2023. 1. 3.
[모던JS DeepDive] 6장 데이터 타입 자바스크립트의 데이터 타입(data type) 데이터타입 - 값의 종류 - 모든 값은 데이터 타입을 갖는다. 구분 데이터 타입 설명 특이 사항 원시타입 (primitive type) 숫자(number) 숫자 - 정수, 실수 구분 없음 (모두 실수로 처리) - ±Infinity, NaN 포함 숫자 타입 값은 배정밀도 64비트 부동소수점 형식을 따르는 2진수로 저장된다. 문자열(string) 문자열 - 16비트 유니코드 문자(UTF-16)의 집합으로 표현 - '', "", ``으로 감싸야 함(토큰과 구분하기 위함) - 변경 불가능함 템플릿 리터럴 표기법 도입 - 백틱으로 표현 - 멀티라인 문자열(이스케이프 시퀀스 사용하지 않아도 됨), 표현식 삽입(표현식을 ${}으로 감쌈, 표현식 평가결과는 문자열로 타입변.. 2023. 1. 3.
[모던JS DeepDive] 5장 표현식과 문 값, 표현식, 문 세미콜론과 세미콜론 자동 삽입 기능 세미콜론(;) - 문의 종료를 나타냄 - 종료 위치를 파악하고 순서대로 하나씩 문을 실행하게 해줌 - 코드 블록 뒤에는 붙이지 않음 (코드블록은 자체 종결성을 가지므로) - 생략 가능 -> 자동 삽입 기능(ASI, automatic semicolon insertion)이 암묵적으로 수행되기 때문 표현식인 문과 표현식이 아닌 문 표현식과 문의 구별 - 값으로 평가되면 표현식인 문이고, 아니면 표현식이 아닌 문이다. - 변수에 할당해 본다. (표현식이면 값으로 평가되어 변수에 할당 가능, 아닌 경우 에러 발생함) - 크롬 개발자 도구에서 표현식인 문을 실행하면 언제나 평가된 값을 반환하고, 표현식이 아닌 문을 실행하면 언제나 undefined를 출력한다... 2023. 1. 3.
[모던JS DeepDive] 4장 변수 변수의 필요성과 정의 프로그래밍을 통해 만든 애플리케이션은 데이터를 입출력한다. 그리고 변수는 이 데이터를 관리하기 위한 핵심 개념이다. 컴퓨터가 데이터를 다루는 방법은 데이터를 메모리에 기억하고, CPU로 연산하여, 결과값을 메모리에 기억해서 출력하게 된다. 메모리란? - 데이터를 저장할 수 있는 메모리셀의 집합체 변수의 필요성 - 메모리 주소를 통한 직접 접근의 위험성 및 어려움으로 변수가 필요함 -> 직접 접근시, 치명적인 오류 발생 가능성 있음, 메모리 주소는 코드 실행될 떄 상황에 따라 임의 결정되므로 계속 변경된다. - 즉, 값을 메모리에 저장하고 재사용하기 위해 변수가 필요해졌다. 변수의 정의 - 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 .. 2023. 1. 3.
[모던JS DeepDive] 2장 자바스크립트란? 자바스크립트의 탄생과 표준화 연도 사건 설명 1995 자바스크립트 탄생 넷스케이프 커뮤니케이션즈에서 도입 - 웹페이지의 보조적인 기능 수행 - 브라우저에서 동작 - 경량 프로그래밍 언어 1996 JScript 출시 MS에서 IE에 자바스크립트의 파생버전인 JScript를 출시함 1997 ECMAScript 1 사양 완성 - 자바스크립트와 JScript의 양립으로 자바스크립트 파편화, 크로스 브라우징 이슈 (모든 브라우저에서 동작하지 않음) 발생하여 넷스케이프에서 ECMA에 표준화를 요청함 2009 ES5 HTML5와 함께 출현한 표준 사양 2015 ES6(ECMAScript 2015) ECMA 사양에 주요 기능 대거 도입 자바스크립트의 성장의 역사 시기 등장 기술 설명 1999 Ajax (Asynchro.. 2023. 1. 2.
[모던JS DeepDive] 1장 프로그래밍 1.1 프로그래밍이란? 프로그래밍이란 커뮤니케이션이다. - 기계가 실행할 수 있을 정도로 요구사항을 정확하고 상세하게 설명하는 작업 / 그 결과물이 코드 1.2 프로그래밍 언어 컴퓨터는 기계어만 이해 할 수 있다. 그래서 프로그래밍 언어가 필요하다. 프로그래밍 언어는 사람이 이해할 수 있는 약속된 구문으로 구성된 언어로, 이를 이용해 프로그램을 작성하면 번역기의 역할을 하는 컴파일러 또는 인터프리터가 컴퓨터가 이해할 수 있는 기계어로 번역을 해준다. 즉, 사람과 기계(컴파일러/인터프리터)가 모두 이해할 수 있는 약속된 형태의 인공어이다. 1.3 구문과 의미 프로그래밍도 결국 커뮤니케이션으로, 구문(Syntax)와 의미(semantic)의 조합으로 표현된다. 구문이 틀리면 에러가 발생하고, 의미가 틀리면 .. 2023. 1. 2.