Javascript
0. 자바스크립트의 특징에 대해 알려주세요.
자바스크립트의 특징으로는
- 웹 브라우저에서 동작하는 유일한 언어입니다.
- 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어입니다.
이는 Java, C와는 다르게 해당 파일을 컴파일 작업을 거치지 않고 소스 코드를 바로 실행할 수 있는 언어라는 의미입니다.
- 자바 스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있다는 장점을 가지고 있습니다.
그 이유는 자바스크립트는 프로토타입 기반 언어이기 때문입니다.
꼬리질문 1. 프로토타입이 뭔가요??
Prototype을 번역해보면 시제품 이라는 뜻입니다.
- 클래스 기반 언어는 클래스에서 상속을 기반으로 사용하지만, 프로토타입 기반 언어는 어떤 객체를 시제품, 원형으로 삼고 이를 복제함으로써 상속과 비슷한 효과를 얻습니다.
- 즉, 자바스크립트 객체가 다른 객체로부터 메서드와 속성을 상속받는 메커니즘을 의미
- 어떠한 생성자 함수를 통해 인스턴스를 만들어내면, proto라는 프로퍼티가 자동으로 부여되는데, 이 프로퍼티는 Constructor의 프로퍼티를 참조합니다. 이를 통해 인스턴스는 Constructor의 프로퍼티에 접근하여 prototype의 메서드를 사용할 수 있습니다.
1. Javascript의 데이터 타입은 뭐가 있나요??
- 데이터 타입은 기본형과 참조형 크게 두가지가 존재합니다.
- 기본형은 값을 저장할 때 값이 담긴 주소 값을 바로 복제하여 불변성을 가지고 있으며, 참조형은 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 저장하며, 이로 인해 값이 변경될 수 있어 가변성이라고 합니다.
- 변수 선언과 데이터 할당의 차이를 예시로 설명한다.
- 식별자와 변수에 해당하는 메모리 주소값을 저장하는 메모리와, 데이터를 저장하는 메모리가 다르다는 것을 강조 → 이 차이로 인해 불변성과 가변성의 차이가 발생한다.