목록전체 글 (164)
개발의변화
자바스크립트: 객체 기반 언어 객체타입은 다양한값을 넣을 수 있다. 원시 값은 변경 불가능한 값이지만 객체 값은 변경 가능한 값 프로퍼티 = 키+값 프로퍼티: 객체의 상태를 나타내는 값 메서드: 프로퍼티를 참조하고 조작할 수 있는 값 객체와 함수: 함수로 객체를 생성, 함숮 자체가 객체 객체 생성 : 객체 리터럴, Object 생성자 함수, 생성자 함수, Object.create메서드, 클래스 10.2 객체 리터럴에 ㅢ한 객체 생성 인스턴스: 클래스에 의해 생성되어 메모리에 저장된 실체 var person = { name: 'Lee', sayHello: function () { console.log(\`Hello! My name is ${this.name}.\`); } }; console...
자바스크립트의 모든 값은 타입이 존재 명시적 타입 반환: 개발자가 의도적으로 값의 타입을 변환하는 것 var x = 10; var str = x.toString(); console.log(type of str, str); console.log(typeof x,x); 암묵적 타입 변환 (implicit coercion) var x = 10; var str = x + ''; console.log(typeof str, str); // x 변수의 값이 변경된 것은 아니다 console.log(typeof x,x); // number 10 기존 원시 값을 변경하는 것이 아니라 기존 원시 값을 사용해 다른 타입의 새로운 원시값을 생성 암묵적으로 생성된 문자열 '10'은 표현식의 평가가 ..
제어문: 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용 -> 제어문을 사용하면 코드의 실행 흐름을 인위적 제억 가능 8.1 블록문 0개 이상의 문을 중괄호로 묶는 것 = 하나의 실행 단위 // 블록문 { var foo = 10; } // 제어문 var x = 1; if (x 0) { kind = '양수'; // 음수를 구별할 수 없다 } console.lo..
연산자: 하나 이상의 표현식을 대상으로 산술,할당,비교,논리,타입 등을 수행해 하나의 값을 만든다. 피연산자: 연산의 대상, 값으로 평가될 수 있는 표현식 // 산술 연산자 5 * 4 // -> 20 // 문자열 연결 연산자 'My name is ' + 'Lee' // -> 'My name is Lee' // 할당 연산자 color = 'red' // -> 'red' // 비교 연산자 3 > 5 // -> false // 논리 연산자 true && false // -> false // 타입 연산자 typeof 'Hi' // -> string 피연산자가 '값'이라는 명사의 역할을 한다면, 연산은 '피..
데이터타입: 값의 종류 원시 타입:숫자타입, 문자열타입, 불리언(boolean)타입, undefined타입, null 타입, 심벌 타입, 객체 타입: 객체,함수,배열 메모리 공간의 크기도 다르고 메모리에 저장되는 2진수도 다르며 읽어 들여 해석하는 방식도 다르다. 6.1 숫자타입 ECMAScript 숫자타입의 값은 배정밀도 64비트 부동소수점 형식 모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터타입 따로 존재X var integer = 10; var double = 10.12; var negative = -20 모든 숫자형은 64비트 부동소수점 형식의 2진수로 저장 자바스크립트는 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공X 이들 값을 참조하면 모두 10진수로 해석 var bi..
5.1 값 값은 식(표현식)이 평가되어 생성된 결과 10 + 20 ; //30 모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 var sum = 10 + 20; //변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당된다. sum변수에 할당되는 것은 10 + 20이 아니라 10 + 20이 평가된 결과인 숫자 값 30이다. 5.2 리터럴 리터럴: 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는표기법을 말한다. 리터럴은 문자(아라비아 숫자, 알파벳, 한글) 또는 미리 약속된 기호('', "",{},[],//)로 표기한 코드이다. 코드가 실행..
4.1 변수란 무엇인가 메모리: 데이터를 저장할 수 있는 메모리 셀 집합체 메모리 셀: 1바이트(8비트)로 구성되어 있으며 1바이트 단위로 데이터 저장 및 읽기 수행 메모리주소를 가짐(메모리 주소는 메모리 공간의 위치를 말함) 메모리에 저장되는 데이터는 2진수로 저장되어짐 EX) let x = 10; x = x + 20 10과 20 피연산자(operand)는 메모리에 저장하고 나서 연산결과인 30또한 메모리 임의의 위치에 저장된다. (이진수로 값이 저장되지만 보기좋게 표현함) 만약 연산결과 30을 재사용하고 싶다면 30이 저장된 메모리공간에 접근하면 될까? 메모리 주소를 통해 값에 접근하는 것은 치명적 오류를 발생시킨다 그러므로 자바스크립트는 개발자의 직접적인 메모리 제어를 허용X 값이 저장될 메모리 주..
타입 확장이란? 기존 타입을 사용해서 새로운 타입을 정의 타입스크립트 타입 지정 동작원리 - 타입 정의 ex)interface, type - 타입 확장 ex)extends, 교차타입, 유니온타입 그러면 타입 확장의 장점은? 코드 중복 줄이기! 코드를 작성할 때 불필요한 중복 타입을 선언하기 보단 기존에 작성한 타입 바탕으로 확장 EX)Interface로 지정할 때 interface BaseMenuItem { itemName: string | null; itemImageUrl: string | null; } interface BaseCartItem extends BaseMenuItem { quantity: number; }BaseCartItem에 BaseMenuItem 확장하여 사용 EX) type으로 지..