전체 글 86

모던자바스크립트 - 함수와 일급 객체

1. 일급 객체는 아래의 조건을 만족하는 객체를 일급 객체라고 한다.무명과 리터럴로 생성할 수 있다. 즉, 런타입에 생성이 가능하다.변수나 자료구조에 저장할 수 있다.함수의 매개변수에 전달할 수 있다.함수의 반환값으로 사용할 수 있다.// 1. 함수는 무명의 리터럴로 생성할 수 있다.// 2. 함수는 변수에 저장할 수 있다.const increase = function (num) { return ++num;};// 3. 함수는 매개변수에 함수를 전달할 수 있다.const increaser = makeCounter(increase);//4. 함수의 반환값으로 사용할 수 있다.const makeFunction = () => { return increase;} 함수가 일급객체라는 것은 함수를 객체와 동일하게..

모던자바스크립트 - 생성자 함수에 의한 객체 생성

Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다. const person = new Object();console.log(person) // {}person.name = '반원재'console.log(person) // {name: '반원재'}; 객체를 생성하는 방법은 객체 리터럴을 사용하는 것이 더 간편하기 때문에 Object 생성자 함수를 사용해 객체를 생성하는 방식은 그다지 유용해 보이지 않는다. 하지만 생성자 함수를 사용하면 프로퍼티 구조가 동일한 객체 여러개를 간편하게 생성할 수 있다. // 생성자 함수function Circle(radius) { this.radius = radius; this.getDiamet..

카테고리 없음 2024.05.06

모던 자바스크립트 - let, const 키워드와 블록 레벨 스코프

변수 선언 방법에는 크게 3가지가 존재한다1. var 변수 중복 선언 허용var x = 1;// 중복 선언이 가능하다.var x = 100; 변수를 중복 선언하면 var키워드가 없는 것처럼 행동하는데 만약 초기화문이 없다면 (var x;) 무시한다. 에러가 발생하지 않는다. -> 의도치 않은 변경을 만들어낼 수 있어서 좋지 않음.함수 레벨 스코프var 키워드로 선언한 변수는 함수 코드 블록만을 지역 스코프로 인정한다. 함수 외부에서 var키워드로 선언한 변수는 코드 블록 내에서 선언해도 전역변수 취급해버린다. 지역변수를 쓰려면 외부에서 선언되어 있으면 안된다는 말이다. var x = 1;// 함수가 아닌 단순 코드블록 내에서는 지역변수 취급을 안한다.if (true) { var x = 10;}consol..

모던자바스크립트 - 함수

1. 함수: 입력을 받아 출력을 내보내는 하나의 실행 단위이다. 아래와 같이 생겼다. 함수를 호출하면 함수의 반환값이 반환된다. const fuc = ()=> {return 3;} console.log(fun()); // 3 함수는 여러번 호출이 가능하기 때문에 여러번 동작하고 싶은 로직을 쉽게 반복할 수 있어 재사용성이 높아진다. 재사용성의 향상은 유지보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높인다. 함수의 이름을 잘 짓는 것은 가독성을 높여준다. 2. 함수는 객체 타입의 값이다. 따라서 함수를 선언함과 동시에 변수에 함수값을 할당할 수 있다. const a = function zxc(x, y) { return 3;}; 함수 값(=객체)은 아래로 구성되어 있다. 2-1. 함수이름 : 식별자,..

모던 자바스크립트 - 타입 변환과 단축 평가

1. 타입변환: 값의 타입을 변환하는 것으로 명시적 타입 변환과 암묵적 타입 변환이 있다. 구분 기준은 개발자의 의도성이다. 개발자의 의도성이라는 상당히 주관적인 기준을 가지고 명시적이냐 암묵적이냐를 판단하기 때문에 특정 방법이 명시적 타입 변환이다 또는 암묵적 타입 변환이다 하는 것은 의미가 없다고 생각한다. 따라서 이론적으로만 명시적 타입 변환과 암묵적 타입 변환이 있다고만 이해하고 아래의 설명에서는 별도로 구분짓지 않고 설명할 것이다. 1-1. 문자열 타입으로 변환 String 생성자 함수(이게 뭔지는 21장에서) new 없이 사용하기. toString 메서드 사용하기. 문자열 연결 연산자(+) 사용하기. 템플릿 리터럴(`) 표현식 삽입하기. // 1. String 생성자 함수 new 연산자 없이 ..

모던 자바스크립트 - 제어문

1. 제어문이란? : 조건문 또는 반복문을 뜻한다. 코드의 실행순서를 인위적으로 조종하기 때문에 코드의 가독성을 떨어트릴 수 있기 때문에 map, filter 같은 고차함수로 대체하는 것이 좋다. 2. 블록문이란? : 0개 이상의 문장을 중괄호로 묶은 것으로 자바스크립트의 실행단위이다. 예를 들어 조건에 따라서 코드 블록 전체가 실행될 수도 있고 실행되지 않을 수도 있다는 것이다. 블록문의 뒤에는 세미콜론을 붙이지 않는다. let i = 1; //블록문은 이처럼 함수거나 const function = () => { return 100; } // 제어문에서 일반적으로 사용됩니다. if (i === 1) { console.log('1입니다.') } 3. 조건문: 조건식의 결과에 따라 블록문을 실행 여부를 판..

객체지향의 사실과 오해 - 핵심 정리

1. 객체지향: 자율적인 객체들의 공동체로 시스템을 분할하는 것. 2. 객체:상태(프로퍼티)와 행위를 가지고 있다. 3. 행위는 객체의 상태를 변경시킨다. 또한 객체의 행동은 상태에 영향받는다. 4. 객체는 시스템의 행위를 구현하기 위해 다른 객체와 협력한다. 각자의 객체는 역할을 수행하며 역할은 관련된 책임의 집합이다. 5. 객체는 다른 객체와 메시지를 통해서만 소통한다. 메시지를 수신한 객체는 메시지를 처리하는 데 적합한 메서드를 자발적으로 선택한다. 6. 캡슐화는 객체가 외부에 노출하는 것은 행동뿐 상태는 알 수 없는 것을 의미한다. 캡슐화는 객체의 자율성을 높인다. 7. 객체지향 설계 시 상태보다 행동을 우선 결정해야한다. 즉, 객체가 외부에 제공해야 하는 행동을 먼저 생각해야한다. 행동과 협력을..

정규화란? DB 인덱스란?

1. 정규화(Normalization)란? 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)(=정확성)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 이러한 테이블을 분해하는 정규화 단계가 정의되어 있는데, 여기서 테이블을 어떻게 분해되는지에 따라 정규화 단계가 달라지는데, 각각의 정규화 단계에 대해 자세히 알아보도록 하자. 1-1. 제1 정규화 제1 정규화란 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것이다. 예를 들어 아래와 같은 고객 취미 테이블이 존재한다고 하자. 위의 테이블에서 추신수와 박세리는 여러 개의 취미를 가지고 있..

DB 2022.06.16

웹이란? 웹 작동과정? WS vs WAS

1. 웹이란? 월드 와이드 웹(World Wide Web)이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미합니다. 간단히 줄여서 WWW나 W3라고도 부르며, 간단히 웹(Web)이라고 가장 많이 불립니다. 인터넷과 같은 의미로 많이 사용되고 있지만, 정확히 말해 웹은 인터넷상의 인기 있는 하나의 서비스일 뿐입니다. 하지만 현재에는 인터넷과 웹이라는 단어가 서로 혼용되어 사용될 만큼 인터넷의 가장 큰 부분을 차지하고 있습니다. 2. 웹의 특징 웹은 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보를 하이퍼텍스트 방식으로 연결하여 제공합니다. 하이퍼텍스트(hypertext)란 문서 내부에 또 다른 문서로 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 여러 문서끼..

2022.06.15

Rest란? Rest API란? Restful이란? Rest API 설계 규칙

1. REST란 “Representational State Transfer” 의 약자로 자원(resource)의 표현(representation) 에 의한 상태 전달 통신 방법론이다. 여기서 자원의 표현이란 그 자원을 표현하기 위한 이름을 의미한다. 예를 들면 DB의 학생 정보가 자원일 때, ‘students’를 자원의 표현이 된다. 여기서 상태(정보) 전달이란 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달한다는 것을 의미한다. 보통 자원의 상태는 JSON 혹은 XML를 통해 주고 받는 것이 일반적이다. REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다. 2. REST의 구체적인 개념 구체적으로 REST란 HTTP URI(Uniform Resource Iden..

네트워크 2022.06.05