분류 전체보기 82

[javascript] REST API 실습하기

REST 는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처이고, REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다. REST API의 구성 REST API는 자원, 행위, 표현의 3가지 요소로 구성된다. REST는 자체 표현 구조로 구성되어 REST API만으로 HTTP 요청 내용을 이해 할 수 있다. 구성요소 내용 표현방법 자원(resorce) 자원 URI(엔드포인트) 행위(verb) 자원에 대한 행위 HTTP 요청 메서드 표현 (representations) 자원에 대한 행위의 구체적 내용 페이로드 REST API 설계원칙 REST 에서 가장 중요한 기본적인 원칙은 2가지 이다. URI는 리소스를 표현하는데 집중 행위에 대한 정의는 HTTP ..

[ javascript ] 디스트럭처링 할당

디스트럭처팅 할당(구조 분해 할당)은 구조화된 배열과 같은 이터러블 또는 객체를 destructuring(비구조화, 구조 파괴)하여 1개 이상의 변수에 개별적으로 할당하는 것을 말한다. 배열 디스트럭처링 할당 ES6의 배열 디스트럭처링 할당은 배열의 각 요소를 배열로부터 추출하여 1개 이상의 변수에 할당한다. 이 때 배열 디스트럭처링 할당의 대상 ( 할당문의 우변)은 이터러블이어야 하며 할당 기준은 배열의 인덱스다. 즉 순서대로 할당된다. // ES5 var arr = [1, 2, 3]; var one = arr[0]; var two = arr[1]; var three = arr[2]; console.log(one, two, three); // 1 2 3 const arr = [1, 2, 3]; // E..

[javascript] 스프레드 문법

ES6에서 도입된 스프레드 문법(전개문법) …은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서(전개, 분산하여 spread) 개별적인 값들의 목록으로 만든다. 스프레드 문법을 사용할 수 있는 대상은 순회 할 수 있는 이터러블에 한정된다. console.log(...[1,2,3]); // 1 2 3 //문자열은 이터러블이다 console.log(...'Hello'); // H e l l o //Map과 Set은 이터러블이다. console.log(...new Map([['a', '1'], ['b','2']])); //['a', '1'] ['b', '2'] console.log(...new Set(...new Set([1,2,3])); // 1 2 3 //이터러블이 아닌 일반 객체는 스프레드 문법의 대상이 될..

[javascript] Number객체

Number 객체는 생성자 함수 객체이다. 따라서 new연산자와 함꼐 호출하여 Number 인스턴스를 생성 할 수 있다. Number 생성자 함수 인수를 전달하지 않고 new 연산자와 함께 호출하면 [[numberData]] 내부 슬롯에 0을 할당한 Number 객체를 생성하다. const numObj = new Number(); console.log(numObj); //[[primitiveValue]] : 0 Number 생성자 함수의 인수로 숫자가 아닌 값을 전달하면 인수를 숫자로 강제 변환 후, [[NumberData]] 내부 슬롯에 변환된 숫자를 할당한 Number 객체를 생성한다. const numObj = new Number('10'); console.log(numObj); //[[primit..

[ javascript ] 배열 개념 정리

배열이란? 배열은 여러개의 값을 순차적으로 나열한 자료구조이다. const arr = ['apple', 'banana' , 'orange'] ; 배열이 가지고 있는 값을 요소라고 부른다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0이상의 정수인 인덱스를 갖는다. 요소에 접근할 때에는 대괄호 표기법을 사용한다. ex) arr[0] 배열은 요소의 개수, 배열의 길이를 나타내는 length 프로퍼티를 갖는다. ex)arr.length 자바스크립트에서 배열이라는 타입은 존재하지 않는다. 배열은 객체 타입이다. ex ) typeof arr; → object 배열은 객체지만 일반 객체와 구별되는 독특한 특징이 있다. 구분 객체 배열 구조 프로퍼티 키와 프로퍼티 값 인덱스와 요소 값의 참조 프로퍼티 키 인덱스 ..

[ javascript ] ES6함수의 추가 기능 ( 함수의 구분, 화살표함수, Rest 파라미터, 매개변수 기본값) 개념 정리

함수의 구분 ES6 이전의 모든 함수는 일반 함수로서 호출할 수 있는 것은 물론 생성자 함수로서 호출할 수 있다. var foo = function (){ return 1; } //일반적인 함수로서 호출 foo(); // 1 //생성자 함수로서 호출 new foo(); // foo{} //메서드로서 호출 var obj = {foo : foo} obj.foo(); // 1 이처럼 ES6이전의 모든 함수는 사용 목적에 따라 명확한 구분이 없으므로 호출 방식에 특별한 제약이 없고, 생성자 함수로 호출되지 않아도 프로토타입 객체를 생성한다. ES6 함수의 구분 constructor prototype super arguments 일반함수(Normal) O O X O 메서드(Method) X X O O 화살표함수(..

[ javascript ] 데이터 타입 개념정리

원시 타입 숫자 타입 숫자. 정수와 실수 구분 없이 하나의 숫자 타입만 존재 문자열 타입 문자열 문자열 불리언 타입 논리적 참(true)과 거짓(false) 논리적 참(true)과 거짓(false) undefined 타입 var키워드로 선언된 변수에 암묵적으로 할당되는 값 var키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌 타입 ES6에서 추가된 7번째 타입 ES6에서 추가된 7번째 타입 객체 타입 객체, 함수 , 배열 등 객체, 함수 , 배열 등 숫자 타입 모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터타입이 별도로 존재하지 않는다. 문자열 타입 문자열은 작은따옴표(‘’)..

[ javascript ] 표현식과 문 개념정리

값 값은 식(표현식)이 평가되어 생성된 결과를 말한다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. 자바스크립트엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다. 표현식 표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다. 즉, 값으로 평가될 수 있는 문은 모두 표현식이라고한다. ( ex ) var score = 50 + 50; ) 문 문은 프로그램을 구성하는 기본 단위이자 최소 실행단위이다. 문은 여러 토큰으로 구성된다. 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다. 세미콜론과 세미콜론 자동삽입 기능 세미콜론은 문의 종료..

[ javascript ] 변수 ( 변수, 식별자 ) 개념정리

변수란 무엇인가? 왜 필요한가? 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 변수는 값의 위치를 가르키는 상징적인 이름이다. - 변수이름, 변수값, 할당 식별자 식별자는 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말한다. 식별자는 값이 아니라 메모리 주소를 기억하고 있다. 변수 선언 변수를 사용하려면 반드시 선언이 필요하다. 변수를 선언할 때는 var, let, const키워드를 사용한다. var 키워드는 뒤에 오는 변수 이름으로 새로운 변수를 선언할 것인지를 지시하는 키워드이다. ( var에는 여러 가지 단점이 있기 때문에, ES6부터 let, const를 사용한다. ) 변수를 선언할 때에는 초기화를 해야한다. 초기화는 변수가 ..