javascript에는 비교연산자가 2종류가 있습니다. 하나는 다른 언어에서도 일반적으로 사용되는 동등 연산자 두개짜리(==) 연산자와 javascript에만 존재하는 동등 연산자 세개짜리(===) 연산자가 있습니다. 이 두 연산자는 각각 다른 역할을 하지만 javascript를 처음 접하거나 제대로 익히지 못한 초보자분들이 많이 헷갈려 하는 경우가 많습니다. 이번 포스팅에서는 이 두 연산자의 차이점에 대해 소개하도록 하겠습니다. Loose Equality - 느슨한 비교 대부분의 다른 언어에서 흔히 볼 수 있는 동등 연산자 두개짜리(==)는 느슨한 비교를 하는 연산자 입니다. 따라서 == 연산자를 이해하려면 느슨한 비교가 무엇이고 어떻게 사용되는지에 대해 알아야 합니다. console.log(false..
Component와 Module은 개발을 하다보면 매우 흔하게 사용되는 용어입니다. 하지만 이러한 Component라는 용어를 한 마디로 정의하자면 매우 어려울 것입니다. 그래서 이번 포스팅을 통해 Component와 Module에 대해 한 마디로 정의할 수 있도록 정리해보고자 합니다. 개인적으로 가지고 있던 컴포넌트의 정의는 "재사용 할 수 있는 단위"라고 생각하고 있었습니다. 사실 Component의 등장 배경 중 일부는 코드를 재사용 하고 반복을 줄이기 위함이였기 때문에 완전히 틀린 정의는 아니였습니다. 하지만 단순한 이 정의는 일반적인 함수나 클래스와 같이 다른 재사용 가능한 것들과 차별점이 없다는 것을 깨닳게 되었습니다. 그래서 보다 더 정확한 정의를 내리기 위해 자료를 찾아보게 되었고, 크게 ..
MVC, MVP, MVVM 패턴은 소프트웨어를 개발할 때의 디자인 패턴 입니다. 디자인 패턴은 소프트웨어를 개발할 때의 문제점들을 개선하기 위해 소프트웨어의 구조와 규약을 정리하여 패턴처럼 쉽게 사용할 수 있도록 정리된 방법을 말합니다. 디자인패턴, 그리고 그중 MVC, MVP, MVVM은 면접 질문에서 가장 많이 등장할 정도로 유명하고 기초적인 패턴입니다. 이번 포스팅에서는 이 3가지 디자인 패턴을 소개하겠습니다. ■ MVC - Model View Controller MVC 패턴은 소프트웨어를 개발할때 Model, View, Controller 세 가지 형태로 역할을 나누어 개발하는 디자인 패턴 입니다. Model 모델은 데이터+상태+비즈니스 로직을 말합니다. Model에는 단순히 데이터를 담고 정의하..