2022. 7. 15. 22:32ㆍ개발자 블로깅/Question
모던 자바스크립트는 '클래스'와 모듈'이라 불리는 진일보한 구조를 제공한다.
이 둘을 사용하면 use strict가 자동으로 적용되어 따로 붙일 필요가 없다.
use stric없이 할당하기
// 참고: 이 예제에는 "use strict"가 없습니다.
num = 5; // 변수 'num'이 정의되어있지 않더라도, 단순 할당만으로 변수가 생성됩니다.
alert(num); // 5
use stric있이 할당하기
"use strict";
num = 5; // error: num is not defined
클래스
사용자가 직접 객체를 선언하고 객체를 멤버를 구성하여 사용할 수 있고 범위와 용도도 정해줄 수 있다.
이렇게 만든 클래스는 그 용도와 목적에 맞게 상속을 통한 인스턴스화, 인터페이스 구현이 가능하다.
즉, 다른 객체에서 해당 클래스의 내부 멤버를 세부용도에 맞게 변경하여 사용할 수 있다.
외부 객체에서 접근가능한 클래스 명을 import 하여 사용할 수 있으며, 외부 객체에서 끌어다 쓰는 이 클래스 내부 멤버들은 클래스를 구현하는 동안에만 수명이 지속된다.
모듈
어느 개인이나 단체에 의해 이미 완성되어 있는 것을 사용자가 가지고온 후 그 모듈 객체와 객체 멤버를 끌어와서 사용합니다. 이러한 모듈은 클래스와 다르게 상속을 통한 인스턴스화, 인터페이스 구현이 불가능합니다. 즉, 다른 객체에서 해당 모듈의 내부 멤버를 변경하여 사용하지 못한다는 것입니다.
모듈의 내부 멤버에 프로그램 수명동안 기본적으로 접근이 가능합니다.
클래스와 모듈의 차이점
용성에 가장 큰 차이가 존재
모듈은 보통 다운받은 파일을 프로그램에 포함시켜 놓고 자유롭게 사용하는 반면 클래스는 그 목적에 맞게 각 크로세스에서 상속하여 사용한다.
모듈은 내부 멤버를 변경하여 사용할 수 없지만 상속받은 클래스는 멤버를 자유롭게 변경할 수 있다.
JavaScript.Info 를 읽으며 모르는 단어는 바로 바로 구굴링!
그러다 보니 한 페이지 보는 것도 시간이 순삭!
처음이니까 그럴 수 있지~ 언젠간 나도 이해하는 속도가 빨라지는 날이 오겠지.
출처: https://alin-j-alin.tistory.com/20 [젤린의 기술 블로그:티스토리]
'개발자 블로깅 > Question' 카테고리의 다른 글
innerHTML VS innerText VS textContent 차이점 (0) | 2023.01.31 |
---|---|
순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해주세요. (0) | 2023.01.17 |
HTTP 메시지 구조에 대해 설명해주세요. (0) | 2023.01.10 |
배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유? (0) | 2023.01.09 |
[형 변환] 문자형, 숫자형, 불린형 (2) | 2022.07.16 |