본문 바로가기

분류 전체보기

(894)
[Deep dive] 12장 함수(1) 12.1 함수란? 함수 - 일련의 과정을 문(statement)로 구현하고 코드 블록을 감싸서 하나의 실행 단위로 정의 - 함수정의(function definition)을 통해 생성 - 함수 호출(function call) - 인수를 매개변수를 통해 함수에 전달하면서 함수의 실행을 명시적으로 지시 매개변수(parameter) - 함수 내부로 입력을 전달받는 함수 인수(argument) - 함수의 입력 반환값(return value) -함수의 반환 //f(x,y) = x+y function add(x,y) { return x+y; } //f(2,5) = 7 add(2,5); //7 12.2 함수 리터럴 - 자바스크립트의 함수는 객체타입의 값 - 함수도 함수 리터럴로 생성 가능 - 일반 객체와 달리 함수는 ..
[Deep dive] 11장 원시 값과 객체의 비교 11.1 원시 값 11.1.1 변경 불가능한 값 - 원시 값(primitive type)은 변경 불가능한 값(immutable value) - 원시 값은 읽기 전용(read only)값으로서 변경 불가 - 원시 값 자체를 변경 불가 , 변수 값을 변경할 수 없다는 것이 아님 ( 변수는 언제든지 재할당을 통해 변수 값 변경 가능) - 데이터의 신뢰성을 보장 - 불변성 (immutability) - 변수 값을 변경하기 위해 원시 값을 재할당하면 새로운 메모리 공간을 확보하고 재할당한 값을 저장한 후, 변수가 참조하던 메모리 공간의 주소를 변경 11.1.2 문자열과 불변성 문자열 - 0개 이상의 문자로 이루어진 집합 - 원시 타입, 변경 불가능 - 유사 배열 객체이면서 이터러블이므로 배열과 유사하게 각 문자에..
[Deep dive] 10장 객체 리터럴 10.1 객체란? 객체 타입 (object type) - 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조 - 변경 가능한 값(mutable value) - 프로퍼티와 메서드로 구성된 집합체 프로퍼티 - 키(key)와 값(value)로 구성 - 객체의 상태를 나타내는 값 (data) 메서드 - 자바스크립트의 함수는 일급객체이므로 값으로 취급 가능 -> 함수도 프로퍼티값으로 사용 가능 - 프로퍼티를 참조하고 조작할 수 있는 동작(behavior) var counter = { num = 0, //프로퍼티 increase : function () { //메서드 this.num ++; } }; 10.2 객체 리터럴에 의한 객체 생성 클래스 기반 객체지향 언어 - java, c..
[혼공] 4-2장 두 테이블을 묶는 조인 조인(join) - 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것 1. 내부조인 (inner join) - 테이블이 일대다(one to many)관계로 연결되어야 함 - 일반적으로 조인이라 부르는것은 내부조인 - 내부 조인은 두 테이블에 모두 있는 내용만 조인되는 방식 - 내부 조인은 두 테이블에 모두 데이터가 있어야만 결과가 나옴 - 일대다 관계 - 한쪽 테이블에는 하나의 값만 존재해야하지만, 연결된 다른 테이블에는 여러 개의 값이 존재할 수 있는 관계 ex) - 회원 테이블 에서 'BLK'는 1명밖에 없음 - 회원 테이블의 아이디를 기본키(primary key)로 지정 - 구매 테이블의 아이디에서는 3개의 BLK 찾을 수 있음 - 회원은 1명이지만 구매는 여러번(many)할 수 있다 -..
[Deep dive] 9장 타입 변환과 단축 평가 9.1 타입 변환이란? 명시적 타입 변환(explicit coercion) - 타입 캐스팅(type casting) - 개발자가 의도적으로 값의 타입을 변환 var x = 10; //명시적 타입 변환 //숫자를 문자열로 타입 캐스팅 var str = x.toString(); console.log(typeof str, str); //string 10 //x 변수의 값이 변경된 것은 아님 console.log(typeof x, x); //number 10 암묵적 타입 변환(implicit coercion) - 타입 강제 변환(type coercion) - 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입 자동 변환 - 기존 변수 값을 재할당하여 변경하는 것이 아님 - 피연산자의 값을 암묵적 ..
[Deep dive] 8장 제어문 8.1 블록문 블록문(block statement) - 0개 이상의 문을 중괄호로 묶은 것 - 블록문을 하나의 실행 단위로 취급 - 블록문의 끝에는 세미콜론을 붙이지 않음 //블록문 { var foo = 10; } //제어문 var x =1; if(x 0) kind = '양수'; else if (num 0 ? '양수' : '음수') : '영'; console.log(kind); //양수 8.2.2 switch문 - 주어진 표현식을 평가하여 ..
[Deep dive] 7장 연산자 7.1 산술 연산자 (arithmetic operator) - 산술 연산이 불가능한 경우 NaN 반환 7.1.1 이항 산술 연산자 - 2개의 피연산자를 산술 연산하여 숫자 값을 만듬 - 모든 이항 산술 연산자는 피연산자의 값을 변경하는 부수 효과 (side effect)가 없다. - +,-,*,/,% 7.1.2 단항 산술 연산자 - 1개의 피연산자를 산술 연산하여 숫자 값을 만듬 단항 산술 연산자 의미 부수효과 ++ 증가 o -- 감소 o + 피연산자를 숫자 타입으로 변환 x - 양수를 음수로, 음수를 양수로 반전 x - 증가/감소 연산자 - 전위 증감 : 먼저 피연산자의 값을 증가/감소시킨 후, 다른 연산을 실행 - 후위 증감 : 먼저 다른 연산을 수행한 후, 피연산자의 값을 증가/감소 var x =5..
[Deep dive] 6장 데이터 타입 - 자바스크립트(ES6)의 7개 타입 -> 원시타입(primitive type)과 객체 타입 (object type)으로 구분 6.1 숫자 타입 - 자바스크립트는 하나의 숫자타입만 존재 - 숫자타입의 값은 배정밀도 63비트 부동소수점 형식을 따름 ( 모든 수를 실수로 처리) - 정수,실수,2진수,8진수,16진수 리터럴은 모두 메모리에 배정밀도 64비트 부동 소수점 형식의 2진수로 저장 var binary = 0b01000001; //2진수 var octal = 0o101; // 8진수 var hex = 0x41; // 16진수 //표기법만 다를 뿐 모두 같은 값 console.log(binary); //65 console.log(octal); //65 console.log(hex); //65 consol..