JavaScript
-
1.함수란 ? 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행단위로 정의한 것이다. 함수는 스코프, 실행 컨텍스트, 클로저, 생성자 함수에 의한 객체 생성, 메서드, this, 프로토타입, 모듈화 등과 관련깊다. 2. 함수를 사용하는 이유 코드의 재사용성에 유용 유지보수의 편의성을 높인다. 코드의 신뢰성을 높인다 (실수를 줄일 수 있기에) 코드의 가독성을 향상한다. 3. 함수 리터럴 자바스크립트의 함수는 객체 타입의 값이다. 따라서 함수도 함수 리터럴로 생성할 수 있다. 구성요소 설명 함수 이름 - 함수 이름은 식별자다 - 함수 이름은 함수 몸체 내에서만 참조할 수 있는 식별자다. - 함수 이름은 생략할 수 있다. 매개변수 목록 - 0개 이상의 매개변수를 소괄호로 감싸..
[모던자바스크립트] 12.함수1.함수란 ? 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행단위로 정의한 것이다. 함수는 스코프, 실행 컨텍스트, 클로저, 생성자 함수에 의한 객체 생성, 메서드, this, 프로토타입, 모듈화 등과 관련깊다. 2. 함수를 사용하는 이유 코드의 재사용성에 유용 유지보수의 편의성을 높인다. 코드의 신뢰성을 높인다 (실수를 줄일 수 있기에) 코드의 가독성을 향상한다. 3. 함수 리터럴 자바스크립트의 함수는 객체 타입의 값이다. 따라서 함수도 함수 리터럴로 생성할 수 있다. 구성요소 설명 함수 이름 - 함수 이름은 식별자다 - 함수 이름은 함수 몸체 내에서만 참조할 수 있는 식별자다. - 함수 이름은 생략할 수 있다. 매개변수 목록 - 0개 이상의 매개변수를 소괄호로 감싸..
2023.05.05 -
1. 원시 값 1-1. 변경 불가능한 값. 원시타입(primitive type)의 값은 변경 불가능한 값이다. 한번 생성된 원시 값은 읽기 전용(read only)값으로서 변경할 수 없다. 변경 불가능 하다는 것은 변수가 아니라 값에 대한 진술이다. 변수는 언제든지 재할당을 통해 변수 값을 변경할 수 있다. 변수 값을 변경하기 위해 원시 값을 재할당하면 새로운 메모리 공간을 확보하고 재할당한 값을 저장한 후, 변수가 참조하던 메모리 공간의 주소를 변경한다. 이러한 값의 특성을 불변성(immutability)라고 한다. 1-2. 문자열과 불변성 // 문자열은 0개 이상의 문자들로 이뤄진 집합이다. var str1 = ''; // 0개의 문자로 이뤄진 문자열(빈 문자열) var str2 = 'Hello'; ..
[모던자바스크립트] 11.원시 값과 객체의 비교1. 원시 값 1-1. 변경 불가능한 값. 원시타입(primitive type)의 값은 변경 불가능한 값이다. 한번 생성된 원시 값은 읽기 전용(read only)값으로서 변경할 수 없다. 변경 불가능 하다는 것은 변수가 아니라 값에 대한 진술이다. 변수는 언제든지 재할당을 통해 변수 값을 변경할 수 있다. 변수 값을 변경하기 위해 원시 값을 재할당하면 새로운 메모리 공간을 확보하고 재할당한 값을 저장한 후, 변수가 참조하던 메모리 공간의 주소를 변경한다. 이러한 값의 특성을 불변성(immutability)라고 한다. 1-2. 문자열과 불변성 // 문자열은 0개 이상의 문자들로 이뤄진 집합이다. var str1 = ''; // 0개의 문자로 이뤄진 문자열(빈 문자열) var str2 = 'Hello'; ..
2023.05.02 -
1. 객체란? 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체이다. 객체타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 key와 value로 구성된다. 자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. 자바스크립트에서 함수 또한 일급 객체이므로 값으로 취급할 수 있는데, 프로퍼티 값이 함수 일 경우 일반함수와 구분하기 위해 메서드라고 부른다. 프로퍼티 : 객체의 상태를 나타내는 값(data) 메서드 : 프로퍼티를 참조하고 조작할 수 있는 동작 2.객체 리터럴에 의한 객체 생성 자바스크립트는 프로토타입 기반 객체지향 언어로서 클래스 기반 객체지향 언어와는 달리 다양한 객체 생성 방..
[모던자바스크립트] 10. 객체 리터럴1. 객체란? 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체이다. 객체타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 key와 value로 구성된다. 자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. 자바스크립트에서 함수 또한 일급 객체이므로 값으로 취급할 수 있는데, 프로퍼티 값이 함수 일 경우 일반함수와 구분하기 위해 메서드라고 부른다. 프로퍼티 : 객체의 상태를 나타내는 값(data) 메서드 : 프로퍼티를 참조하고 조작할 수 있는 동작 2.객체 리터럴에 의한 객체 생성 자바스크립트는 프로토타입 기반 객체지향 언어로서 클래스 기반 객체지향 언어와는 달리 다양한 객체 생성 방..
2023.05.02 -
1. 타입 변환이란? 명시적타입변환 / 타입캐스팅 : 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적타입변환 / 타입강제변환 : 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환 암묵적 타입 변환은 기존 변수 값을 재할당 하여 변경하는 것이 아니라 새로운 타입의 값을 만들어 단 한 번 사용하고 버린다. 2. 암묵적 타입 변환 2-1. 문자열 타입으로 변환 1 + "2" // -> "12" 2-2. 숫자 타입으로 변환 산술연산자 및 비교연산자 일때 숫자타입이 아닌 피연산자를 숫자 타입으로 암묵적 타입 변환한다. 1 - '1' // -> 0 1 * '10' // -> 10 1 / 'one' // -> NaN '1' > 0 // -> true 0 : 빈문자열(""), 빈배열([]), false 1 : ..
[모던자바스크립트] 9.타입 변환과 단축 평가1. 타입 변환이란? 명시적타입변환 / 타입캐스팅 : 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적타입변환 / 타입강제변환 : 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환 암묵적 타입 변환은 기존 변수 값을 재할당 하여 변경하는 것이 아니라 새로운 타입의 값을 만들어 단 한 번 사용하고 버린다. 2. 암묵적 타입 변환 2-1. 문자열 타입으로 변환 1 + "2" // -> "12" 2-2. 숫자 타입으로 변환 산술연산자 및 비교연산자 일때 숫자타입이 아닌 피연산자를 숫자 타입으로 암묵적 타입 변환한다. 1 - '1' // -> 0 1 * '10' // -> 10 1 / 'one' // -> NaN '1' > 0 // -> true 0 : 빈문자열(""), 빈배열([]), false 1 : ..
2023.05.01 -
제어문 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 하지만 제어문은 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치는 단점이 있고,오류를 발생시키는 원인이 되기도 한다. 1.블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것이다. 제어문이나 함수를 정의할 때 사용하는 것이 일반적이다. //블록문 { var foo = 10; } //제어문 var x = i; if(x < 10) { x++; } //함수 선언문 function sum(a,b) { return a + b; } 2.조건문 2-1. if ...else 문 if(조건식){ //조건식이 참이면 코드블록 실행 } else { //조건식이 거짓이면 이 코드블록 실행 } if 문의 조건식은 불리언 값으로 평가 되어야하며, 만약 불..
[모던자바스크립트] 8.제어문제어문 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 하지만 제어문은 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치는 단점이 있고,오류를 발생시키는 원인이 되기도 한다. 1.블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것이다. 제어문이나 함수를 정의할 때 사용하는 것이 일반적이다. //블록문 { var foo = 10; } //제어문 var x = i; if(x < 10) { x++; } //함수 선언문 function sum(a,b) { return a + b; } 2.조건문 2-1. if ...else 문 if(조건식){ //조건식이 참이면 코드블록 실행 } else { //조건식이 거짓이면 이 코드블록 실행 } if 문의 조건식은 불리언 값으로 평가 되어야하며, 만약 불..
2023.05.01 -
자바스크립트는(ES6)는 7개의 데이터 타입을 제공한다. 원시타입 Number String boolean undefined null Symbol 객체타입 객체, 함수, 배열 등 원시타입 1. Number 배정밀도 64비트 부동소수점 형식을 따른다. 모든 수를 실수로 처리하며 정수만을 표현하기 위한 데이터 타입이 별도로 존재하지 않는다. //숫자 타입 var integer = 10 //정수 var double = 10.12 //실수 var negative = -20 //음의 정수 정수로 표시되는 수끼리 나누더라도 실수가 나올 수 있다. //숫자 타입은 모두 실수로 처리된다. console.log(1===1.0); //true console.log(4 / 2); //2 console.log(3 / 2;) /..
[모던자바스크립트] 6.데이터타입자바스크립트는(ES6)는 7개의 데이터 타입을 제공한다. 원시타입 Number String boolean undefined null Symbol 객체타입 객체, 함수, 배열 등 원시타입 1. Number 배정밀도 64비트 부동소수점 형식을 따른다. 모든 수를 실수로 처리하며 정수만을 표현하기 위한 데이터 타입이 별도로 존재하지 않는다. //숫자 타입 var integer = 10 //정수 var double = 10.12 //실수 var negative = -20 //음의 정수 정수로 표시되는 수끼리 나누더라도 실수가 나올 수 있다. //숫자 타입은 모두 실수로 처리된다. console.log(1===1.0); //true console.log(4 / 2); //2 console.log(3 / 2;) /..
2023.04.24