08장 제어문조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용함제어문을 사용하면 위에서 아래 방향으로 순차적으로 실행되는 코드의 실행 흐름을 인위적으로 제어할 수 있다.블록문0개 이상의 문을 중괄호로 묶은 것으로 코드 블록 또는 블록이라고 부른다.자바스크립트는 블록문을 하나의 실행 단위로 취급단독으로 사용할 수 있지만 일반적으로 제어문이나 함수를 정의할때 사용블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다!//블록문{ var foo = 0; }//제어문var x = 1;if(x조건문주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정조건식은 불리언 값으로 평가될 수 있는 표현식if ... else문주어진 조건식의 평가 결과에 따라 실행..
07장 연산자연산자 : 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산등을 수행해 하느의 값을 만듬피연산자 : 연산의 대상, 값으로 평가될 수 있는 표현식산술 연산자피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만듬산술 연산이 불가능한 경우 NaN 반환부수 효과 : 산술 연산을 할 때 피연산자의 값을 변경이항 산술 연산자부수 효과x5+2; //7 부수효과x5-2; //3 부수효과x5*2; //10 부수효과x5/2; //2.5 부수효과x5%2; //1 부수효과x단항 산술 연산자증가/감소 연산자는 피연산자의 값을 변경하는 부수 효과가 있다.var x = 1, sum;//선할당 후 증가sum = x++;console.log(sum,x); //1,2//선증가 후 할당su..
06장 데이터 타입숫자 타입(number)int, long, float, double 등으로 나누는 다른 언어와 달리 자바스크립트는 하나의 숫자타입만 존재한다.모든 수를 실수로 처리함var integer = 10; //정수var double = 10.12; //실수var negative = -20; //음의 정수var binary = 0b01000001; //2진수var octal = 0o101; //8진수var hex = 0x41; //16진수console.log(binary,octal,hex);//65,65,65console.log(binary === octal); //trueconsole.log(hex === octal); //tureconsole.log(1===1.0)//숫자타입은 전부 실수처리이..
05장 표현식값값 : 표현식이 평가되어 생성된 결과var sum = 10 + 20;sum이 기억하는 메모리 공간에 저장된 것은 30으로 10 + 20은 할당 이전에 평가되어 값을 생성해야한다.가장 기본적으로 값은 리터럴을 사용해 생성할 수 있다.리터럴(Literal)사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글 등) 혹은 약속된 기호('',"",[],// 등)를 이용해 값을 생성하는 표기법만약 숫자 리터럴3을 코드에 입력하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 새로운 메모리 셀에 생성한다.코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다.리터럴의 구분에 대해 추가적인 정보를 얻고싶다면 이곳을 참고하세요.표현식(expression)값으로 평가될 수 있는 문표현식이 평가되..
04장 변수변수란 무엇인가? 왜 필요한가?프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념💡 10 + 20 을 자바스크립트 엔진이 실행하려면10, 20, +라는 기호 (리터럴, 연산자)의 의미와 10+20 표현식의 의미도 해석(파싱)할 수 있어야 함.메모리 : 데이터를 저장할 수 있는 메모리 셀의 집합체메모리 셀 : 하나당 1Byte(8bit), 컴퓨터는 1바이트 단위로 데이터를 저장하거나 읽는다. (2진수)각 셀은 고유의 메모리 주소를 가짐.10과 20은 메모리 상의 임의의 메모리 주소에 저장되고 CPU가 연산을 수행해 생성된 숫자 30도 메모리 상의 임의의 위치에 저장 됨.지금 이 상황에서 30을 재사용하려면 30이 저징된 메모리 셀의 주소를 통해 메모리 공간에 직접 접근해야만 한다.-> 치명적..
js를 이용하다보면 2차원 배열을 생각보다 선언하기 힘들다는 것을 느낄 것이다. 이 때 추천하는 방법은 2가지가 있는데, 편한 방법을 골라서 사용하면 된다.1. Array.from()을 이용const dp = Array.from({length: 2}, () => Array(10)); // 2x10 배열을 완성할 수 있다. 2. 스프레드 연산자(...) 이용[...Array(n)].map(x => new Array(n));