Javascript (26) 썸네일형 리스트형 [모던 자바스크립트 Deep Dive] 08 제어문 제어문은 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)에 사용하여 코드의 실행 흐름을 인위적으로 제어 코드의 실행 순서가 변경된다는 것은 직관성이 떨어짐. forEach, map, filter, reduce 같은 고차 함수를 사용하여 복잡성을 해결하려고 하기도 함 블록문 블록문 block statement / compound statement은 0개 이상의 문을 중괄호로 묶은 것, 코드 블록 또는 블록이라고 부름 자바스크립트는 블록문을 하나의 실행 단위로 취급 문의 끝에는 일반적으로 세미콜론을 붙이나, 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않음 // 블록문 { var foo = 10; } // 제어문 var x = 1; if .. [모던 자바스크립트 Deep Dive] 07 연산자 산술 연산자 산술 연산자 arithmetic operator는 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만듦 산술 연산이 불가능할 경우 NaN을 반환 피연산자의 개수에 따라 이항 산술 연산자와 단항 산술 연산자로 구분 이항 산술 연산자 이항 binary 산술 연산자는 2개의 피연산자를 산술 연산 부수 효과 side effect(피연산자의 값을 변경)가 없음 이항 산술 연산자 의미 부수 효과 + 덧셈 x - 뺄셈 x * 곱셈 x / 나눗셈 x % 나머지 x 단항 산술 연산자 단항 unary 산술 연산자는 1개의 피연산자를 산술 연산하여 숫자 값을 만듦 증가/감소(++/--) 연산자 피연산자 값을 변경하는 부수 효과가 있음, 피연산자의 값을 변경하는 암묵적 할당이 이루어짐 위치에 따라 의미.. [모던 자바스크립트 Deep Dive] 06 데이터 타입 데이터 타입 종류 데이터 타입 data type은 값의 종류를 뜻함 자바스크립트의 모든 값은 데이터 타입을 갖음 ES6는 7개의 데이터 타입을 제공하며, 각 타입은 원시 타입 primitive type과 객체 타입 object/reference type으로 분류 구분 데이터 타입 설명 원시 타입 숫자 number 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재 문자열 string 문자열 불리언 boolean 논리적 참(true)과 거짓(false) undefined var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 값이 없다는 것을 의도적으로 명시할 때 사용되는 값 심벌 symbol 다른 값과 중복되지 않는 유일무이한 값. ES6에서 추가 객체 타입 객체, 함수 배열 등 숫자 numb.. [모던 자바스크립트 Deep Dive] 05 표현식과 문 값 value 값 value는 식(표현식 expression)이 평가 evaluate되어 생성된 결과 다음 예제의 식은 평가되어 숫자 값 30을 생성한다 10 + 20 // 30 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름, 즉 변수에 할당되는 것은 값 var sum = 10 + 20 // 변수에는 10 + 20이 평가되어 생성된 값 30이 할당 리터럴 literal 리터럴 literal은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법 notation을 말함 자바스크립트 엔진은 코드가 실행되는 시점인 런타임 runtime에 리터럴을 평가해 값을 생성 사람이 이해할 수 있는 아라비아 숫자를 사용해 숫자 리터럴 3을.. [모던 자바스크립트 Deep Dive] 04 변수 변수란 무엇인가? 왜 필요한가? 애플리케이션은 데이터를 입력 받아 처리하고 그 결과를 출력한다 변수는 프로그래밍 언어에서 데이터를 관리하는 핵심 개념 10 + 20 자바스크립트가 위 코드를 계산(평가 evaluation)하려면 20, 30 ,+ 라는 기호(리터럴 literal과 연산자 operator)의 의미를 알고 있어야 함 10 + 20이라는 식(표현식 expression)의 의미도 해석(파싱 pharsing)할 수 있어야 함 자바스크립트가 해당 식의 의미를 해석하면 + 연산을 수행하기 위해 + 연산자의 좌변과 우변의 숫자 값(피연산자 operand)를 기억 cpu를 사용해 연산하고 메모리를 사용해 데이터를 기억 메모리 데이터를 저장할 수 있는 메모리 셀의 집합체 메모리 셀 하나의 크기는 1바이트(8.. [모던 자바스크립트 Deep Dive] 03 자바스크립트 개발 환경과 실행 방법 자바스크립트 실행 환경 모든 브라우저와 Node.js는 자바스크립트 엔진을 내장하고 있다. 하지만 용도가 다르다 브라우저 웹 페이지를 화면에 렌더링하는 것이 주된 목적 ECMAScript + DOM API, Alert API 등 Node.js 브라우저 외부에서 자바스크립트 실행 환경 제공 ECMAScript + 파일 생성 수정할 수 있는 파일 시스템 등 ECMAScript 외에 용도에 따라 다른 기능이 제공되는 것을 확인할 수 있음 웹 브라우저 크롬 브라우저 Google Chrome - Download the Fast, Secure Browser from Google Get more done with the new Google Chrome. A more simple, secure, and faster w.. [모던 자바스크립트 Deep Dive] 02 자바스크립트란? 2.1 자바스크립트의 탄생 1995년 90%의 시장 점유율로 웹브라우저 시장을 점유하고 있던 넷스케이프 커뮤니케이션즈는 웹 페이지의 보조기능 을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기로 결정, 그래서 탄생한 것이 자바스크립트다. 2.2 자바스크립트의 표준화 경쟁사인 마이크로소프트 사의 JScript가 인터넷 익스플로러에 탑재되면서 표준화되지 못하고 적당히 호환되는 크로스 브라우징 이슈 발생 비영리 표준화 기구인 ECMA에 자바스크립트의 표준화 요청 2.3 자바스크립트 성장의 역사 초기 대부분의 로직은 서버에서 실행되어 브라우저의 역할은 서버에서 전달 받은 HTML과 CSS를 렌더링하는 수준 Ajax(Asynchronous JavaScript and XML) 기존에는 완전한 H.. [모던 자바스크립트 Deep Dive] 01 프로그래밍 1.1 프로그래밍이란? 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업, 그 결과물이 코드 컴퓨터와 사람은 사고, 인지 방식이 다르기 때문에, 컴퓨터의 관점에서 문제를 사고할 수 있어야함 1.2 프로그래밍 언어 컴퓨터가 이해할 수 있는 언어는 기계어(machine code) 기계어는 직접 작성이 어렵기 때문에, 사람이 이해할 수 있는 약속된 구문(syntax) 으로 구성된 프로그래밍 언어(Programming Language)를 사용해 프로그램을 작성 그것을 컴퓨터가 이해할 수 있도록 기계어로 번환하는 번역기를 사용한다. 그 번역기를 컴파일러(Compiler) 또는 인터프리터(Interpreter)라고 함 1.. 이전 1 2 3 4 다음