스코프는 한국말로 범위, 영역이라는 뜻입니다. 변수를 만들고 값을 할당하면 어디서든 그 변수 이름으로 할당된 값을 가져올 수 있는데, 사실 변수에는 유효한 범위가 있어서 그 범위를 벗어나게 되면 오류가 발생합니다. // Scope:범위, 영역 console.log(x); Uncaught ReferenceError : x is not defined at index.js:2 이 오류는 x라는 변수를 선언하지 않았기 때문이지만 상황에 따라서는 변수를 선언했는데도 이런 오류를 만나게 되는 경우가 있습니다. 지금부터 변수가 선언되면 어디까지 유효한지 즉 변수의 유효범위에 대해 알아보겠습니다. // Scope: 범위, 영역 let x = 3; console.log(x); x에 3이라는 값을 할당해주면 코드를 실행했..
함수의 파라미터를 활용하면 전달되는 값에 따라 다양한 결과값을 얻을 수가 있습니다. 함수를 호출할 때 소괄호 안에 어떤 값들을 넣어 주게 되면 이 값이 파라미터로 전달이 되고 함수 내부에서는 이 파라미터를 활용해서 서로 다른 결과값을 출력하는 것을 확인할 수 있습니다. 파라미터가 있는 함수에 아무런 값도 전달해 주지 않으면 저장하고 실행해보면 undefined 값이 나온 것을 확인할 수 있습니다. undefined 값을 확인할 수 있는 상황은 변수를 선언하고 그리고 아무런 값도 할당하지 않았을 때와 sayHello 함수처럼 함수를 호출했는데 리턴문이 작성되어 있지 않은 경우에는 이 호출 부분이 undefined 값을 돌려받습니다. 또, 파라미터가 있는데 함수를 호출할 때 아무런 값도 전달하지 않을 경우에..
function printSquare(x){ console.log(x * x); } function getSquare(x){ return x * x; } printSquare(3) console.log(getSquare(3)) console.log(printSquare(3)) printSquare 함수는 파라미터 x의 제곱을 콘솔에 출력하는 함수이고 getSquare 함수는 파라미터 x를 제곱해서 리턴해주는 함수 입니다. 함수들을 각각 호출해보면 printSquare 함수에 숫자 값 3을 전달해줬으므로 파라미터 x에는 숫자 값 3을 전달받게 되고 그러면 x * x 그러니까 3 * 3이 되고 결과적으로 console.log(9)가 실행이 되면서 콘솔에는 9가 출력이 됩니다. getSquare 함수에 숫자 ..
함수에서 return문은 어떤 값을 되돌려주는 아웃풋의 역할을 합니다. function square(x){ return x * x; } console.log(square(3)); 5번째 줄을 보면 square 함수를 호출하면서 숫자 값 3을 파라미터로 전달하고 있습니다. 그러면 여기 파라미터 x에 3이 전달되고 리턴 3 * 3이 돼서 이 함수 호출 부분은 9를 되돌려 받게 됩니다. 그래서이 코드는 결국 console.log(9)라는 코드가 돼서 저장하고 실행해보면 9가 잘 출력이 되는 것을 확인할 수 있습니다. 이렇게 보면 생각보다 간단한데 사실 리턴문에는 이렇게 결과값을 돌려주는 역할 말고도 하나의 역할이 더 있습니다. 바로 함수의 실행을 중단하는 건데요. 말 그대로 함수 내부에서 리턴 키워드가 나오면..
인터넷 통신의 대부분은 패킷 통신으로 이루어지는데 패킷 통신 규약 중 하나인 TCP/IP는 TCP(Transmission Control Protocol) 전송 제어 프로토콜과 IP(Internet Protocol) 인터넷 프로토콜을 아울러 지칭하는 용어입니다. IP 주소는 인터넷 프로토콜로 메세지가 목표로 하는 컴퓨터에 잘 도착하도록 해주는 역할을 합니다. TCP는 IP의 상위 프로토콜인데 컴퓨터의 위치를 찾아서 메세지를 잘 전송했다면 그 메세지를 확인하고 네트워크 통신을 할 때 메세지를 그대로 전송하기보다는 작은 단위로 쪼개서 전송을 합니다. TCP는 이러한 패킷들을 재조립하고 손상되거나 손실된 패킷이 있다면 재요청을 합니다. 참고로 패킷은 네트워크에서 사용하는 작게 분할된 데이터 조각으로 네트워크에서..
1990년 중반까지는 모두 다 static sites였습니다. 서버에 이미 잘 만들어진 html 문서들이 있고 사용자가 브라우저에서 hello.com과 같은 주소에 접속하면 서버에 이미 배포되어있는 HTML 문서를 받아와서 보여주는 형식입니다. 한 가지 문제점은 페이지 내에서 다른 링크를 클릭하면 다시 서버에서 해당 페이지의 HTML을 받아와서 페이지 전체가 업데이트되어야 한다는 것입니다. 1996년 문서 내에서 또 다른 문서를 담을 수 있는 iframe 태그가 도입이 되었고 이제는 페이지 내에서 부분적으로 문서를 받아와서 업데이트할 수가 있게 됩니다. 1998년 우리가 많이 쓰고 있는 fetch API의 원조 XmlhHttpRequest API가 개발이 되어서 이제는 HTML 문서 전체가 아니라 JSO..
무의식적으로 웹사이트를 접속할 때 HTTPS라고 입력하고 계셨을 텐데요. 그동안 알아보았던 HTTP와 어떤 차이점이 있는지 HTTP에서 진화한 HTTPS에 대해서 알아보겠습니다. HTTPS에 대해서 알아보기 전에 HTTP에 대해 먼저 간단히 요약하면 Hyper Text Transfer Protocol로 하이퍼 텍스트를 전송하기 위해 만들어진 약속입니다. 이런 HTTP에는 단점이 있는데요. 첫 번째, 암호화하지 않았기 때문에 도청 당할 수 있다는 점입니다. 나쁜 마음을 가진 사람이 통신 경로상에 있는 네트워크 기기나 케이블 컴퓨터와 같은 기기를 통해 도청할 수 있다는 점입니다. 두 번째, 통신 상대를 확인하지 않기 때문에 신뢰성이 떨어집니다. HTTP는 누가 요청을 보내와도 응답을 해주는 구조인데, 요청을..
API와 REST API는 서버와 클라이언트가 서로 소통할 때 중요한 역할을 담당하기 때문에 백엔드도 프론트엔드도 필수로 알아야 하는 개념이라서 면접 필수 질문이기도 합니다. 우선 API(Application Programming Interface)란 무엇일까요? API란 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어에서 제공하는 기능을 제어할 수 있게 해주는 인터페이스를 말합니다. 인터페이스란 사람과 사람, 사람과 사물 또는 기기를 연결하는 것입니다. 정리하면 API는 어플리케이션 간에 지정된 형식으로 요청과 응답을 할 수 있도록 연결하는 것입니다. 카 셰어링앱이나, 맛집 예약 앱에서 사용하는 실시간 지도도 API를 활용한 예시입니다. 네이버나 구글 등 기업에서 제공하는 API를 내 ..
- Total
- Today
- Yesterday
- some
- 얕은복사
- map
- redux-thunk
- 불변 객체
- EVERY
- 타입변환
- findindex
- redux
- undefined
- find
- redux middleware
- null
- 비교 연산자
- foreach
- 느슨한 타입(loosely typed)
- filter
- 참조형 데이터
- redux thunk
- 동적(dynamic) 언어
- 기본형 데이터
- redux-middleware
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |