본문 바로가기

분류 전체보기216

JavaScript의 네이티브 (Natives of JavaScript) 지난 타입과 값 포스트에서 소개했던 자바스크립트에는 네이티브(Natives)라고 하는 몇 가지 내장 타입이 있었습니다. 이번에는 네이티브들에 대해서 간단히 알아보겠습니다. 자주 사용되는 네이티브들을 보면 다음과 같은 모양입니다. String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() 이 중 Symbol()은 ES6부터 추가되었습니다. 형태를 보면 아시겠지만, 네이티브들은 내장 함수입니다. String("test"); 의 형태로 생성자처럼 사용할 수도 있습니다. 다만 실제 생성자처럼 사용했을때는 원시값을 감싼 객체 래퍼의 형태로 생성됩니다. 생성된 객체 래퍼의 구조를 살펴보겠습니다. String { "문.. 2021. 2. 21.
JavaScript의 값 - 2 (Value of JavaScript) 특수 값 다음은 특수한 값에 대해 알아보겠습니다. 타입에 따라 주의해서 사용해야 할 값들입니다. 우선 타입과 값이 같은 경우입니다. undefined와 null은 타입이자 값 그 자체입니다. 여기서 null은 식별자가 아닌 키워드이므로 어떤 의미로 정의하여 사용하는지는 개발자의 마음이지만, null 이외의 값을 할당할 수는 없습니다. 그러나 undefined는 식별자이므로 임의의 값을 할당할 수 있습니다. undefined는 지역 변수의 이름으로도 사용할 수 있습니다. 그러나 가능하다고 해서 무조건 하는건 좋은 선택이 아닐 것 같습니다... 다음으로 살펴볼 것은 void입니다. 표현식 void는 모든 값을 undefined로 만들어버립니다. 기존 값에 영향을 미치지 않고 undefined를 출력시키고, .. 2021. 2. 19.
JavaScript의 값 - 1 (Value of JavaScript) 자바스크립트에는 여느 언어들처럼 배열과 문자열, 숫자 등을 값으로 가집니다. 그러나 일반 언어와는 다른 특성이 있어 이러한 값들을 사용할때 혼동을 줄 수 있기 때문에 정확하게 알고 사용하는 것이 중요합니다. 이번 시간에는 이런 독특한 특성을 가진 자바스크립트의 값에 대한 내용을 정리합니다. 배열 자바스크립트의 배열이 가진 특징 중 하나를 꼽으라면 무엇이든 값으로 들어갈 수 있다는 점을 꼽을 수 있습니다. 정수면 정수, 문자면 문자 등 한 배열에 들어가야 할 형식이 정해진 다른 언어와는 달리 숫자가 들어간 배열에 문자열을 추가하고, 심지어 객체나 다른 배열까지 집어넣을 수 있습니다. 특히 배열에 다른 배열을 집어넣는 방법은 자바스크립트에서 다차원 배열을 만드는 방법이기 때문에 잘 기억해두시는게 좋습니다. .. 2021. 2. 17.
JavaScript의 타입 (Type of JavaScript) 자바스크립트는 타입에 있어 굉장히 유연하게 동작하는 언어입니다. 변수에 들어있는 값이 숫자이든, 문자열이든 쓰임에 따라서 자동으로 변환되고 맞춰지기 때문에 상대적으로 다른 강타입, 정적 언어들에 비해 크게 문제를 느끼지 않는 경우가 일반적입니다. 하지만 그런 자바스크립트에도 타입은 분명히 존재합니다. 이번 포스팅에서는 자바스크립트의 타입에 대해 조금 더 자세히 알아보겠습니다. 타입의 종류 자바스크립트의 내장 타입은 7가지가 있습니다. null undefined boolean number string object symbol object를 제외한 나머지 여섯 개의 타입들을 원시 타입(primitives) 이라고 부릅니다. 값이 어떤 타입을 갖고 있는지 확인하려면 typeof 연산자를 사용하면 됩니다. 그러.. 2021. 2. 15.
TCP/IP 프로토콜 스위트 계층 구조 (TCP/IP Protocol Suite Layers) Protocol Layering이란 통신을 위한 상호간의 통신 규약을 의미합니다. 간단한 통신의 경우 하나의 프로토콜로도 충분합니다. 그러나 복잡한 통신을 처리해야 할 경우, 효율적인 통신을 위해서는 계층별 프로토콜이 꼭 필요합니다. 이번 시간에는 TCP/IP 프로토콜 스위트의 계층 구조를 알아봅니다. 계층 구조라고 하니 익숙하게 들리실 수 있는데 지난번에 정리한 OSI 7계층 모델과도 유사한 점이 있습니다. 실제로 TCP/IP 프로토콜 스위트는 OSI 모델 이전에 나왔던 개념이고, OSI 모델이 TCP/IP 스위트를 완전히 대체할 수 있을 것이라는 기대를 받았던 적이 있습니다. 하지만 OSI 모델은 TCP/IP 스위트의 역할을 완벽히 커버하지는 못했고, 현재까지도 두 모델을 함께 사용하고 있습니다. 책.. 2021. 2. 13.
You don't know JS 책 구매했습니다. 리팩토링 스터디도 막바지로 접어들며 새로운 북스터디를 고민중이었는데, 아무래도 스터디 구성원 중 이미 회사에서 개발자로 근무하고 계신 분들이 꽤 있다보니 심화된 내용을 주로 보게 될 것 같아 평소에 부족하다고 느꼈던 자바스크립트에 대해 공부하는 시간을 가져보고 싶었습니다. 기존 리팩토링 스터디와는 별개로, 프론트 개발자를 지망하는 학부생 동아리원들과 모여 자바스크립트의 깊은(?) 내용을 함께 공부하기 위해 스터디 그룹을 만들어서 따로 진행하게 되었습니다. 스터디에 사용할 책은 You don't know JS 시리즈로 정하게 되었는데, 선배들의 추천도 있었고 전부터 눈여겨보고 있던 책이어서 망설임 없이 정하게 된 것 같네요. 지금까지 자바스크립트를 사용해서 이것저것 만들어 왔었지만 잘 몰랐었던 내용들이 많.. 2021. 2. 11.