모듈이란? 프로그램 내부를 기능별 단위로 분할한 부분 모듈 분리 시 장점 유지보수 기능들이 모듈화가 잘 되어있다면 의존성을 줄일 수 있어 유지보수가 편하다. 네임스페이스화 모듈 분리를 하면 모듈만의 네임스페이스를 갖기 때문에 중복 변수명으로부터 자유로워진다. 재사용성 재사용 가능한 로직을 모듈로 분리시켜 필요할 때마다 사용할 수 있다. 모듈 시스템 JS 프로그램을 모듈로 개발하고 배포할 수 있게 하기 위해 만들어짐 CJS(Common JS) - 서버 사이드에서 사용, 동기적으로 작동 - Browserify 모듈화 방법 스코프(Scope): 모든 모듈은 자신만의 독립적인 실행 영역이 있어야 한다. 정의(Definition): 모듈 정의는 exports 객체를 이용한다. 사용(Usage): 모듈 사용은 re..
?? = Nullish coalescing operator A??B A가 null 또는 undefined 이면 B를 반환, 아니면 A를 리턴(이 경우는 null or undefined 리턴됨) !! = Double Exclamation Marks Operator !!A null, undefined, 0, '', false, NaN 은 false, 이외의 값은 true !(NOT)의 반대 ?. = Optional chaining Operator A?.B A가 null 또는 undefined 이면 에러 대신에 undefined로 띄워줌 삼항 연산자 조건 ? A : B 조건이 true면 A, false면 B 논리 연산자 || OR && AND ! NOT
객체(Object) 자바스크립트의 객체는 키와 값으로 구성된 프로퍼티의 집합이다. 사용자, 주문 같은 실제 존재하는 개체(entity)를 표현하고자 할 때 생성된다. let user = { name: "Kang", age: 23 }; 프로퍼티(Property) 프로퍼티(property)는 프로퍼티 키(이름)와 프로퍼티 값으로 구성된다. 기본적으로 어떤 값을 나타내는데, 이 값이 다른 값과 연관되어 있을 때 property라고 한다. JS에서는 객체 내부의 속성을 의미한다. 그럼 위의 코드에서 user의 name과 age가 프로퍼티이다! 메소드(Method) 프로퍼티 안에 함수를 받는 프로퍼티를 일반적으로 메소드라고 한다. 객체 안에서 속해있으니까 프로퍼티아니냐!라고 할 수 있지만 약간 다르다. 프로퍼티 ..