Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프록시
- Proxy Server
- 다익스트라 알고리즘
- Dijkstra Algorithm
- 세마포어
- floyd-warshall
- 싸피 합격
- 삼성 청년 SW 아카데미
- 뮤텍스
- 플로이드 와샬
- SSAFY
- Synchronization
- 싸피
- 클라우드 서버
- 최단 경로
- 호스팅
- 뮤텍스란?
- 다익스트라
- 프록시서버
- 서버 호스팅
- 플로이드 워셜
- 세마포어와 뮤텍스의 차이
- 호스팅이란?
- 동기화
- 싸피 면접 후기
- 세마포어란?
- Proxy
- 웹 호스팅
- 세마포어와 뮤텍스
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
자바스크립트의 핵심 개념 본문
객체
- 자바스크립트의 '거의' 모든 것은 객체이다.
- 몇 가지가 제외된다. 기본 데이터 타입인 boolean, number, string이다.
- 특별한 값인 null, undefined도 해당된다. 이를 제외한 나머지는 모두 객체이다.
- 상황에 따라선 기본 데이터 타입은 모두 객체처럼 다룰 수도 있다. 그렇기 때문에 자바스크립트는 null과 undefined를 제외한 모든 것을 객체로 다룰 수 있다.
함수
- 함수도 객체 취급한다. 일반적인 객체보다 조금 더 많은 기능이 있는 객체라고 할 수 있다.
- 단순히 표현하기엔 자바스크립트에서 함수는 상당히 중요하고, 함수가 일급 객체로 다뤄지기 때문이다.
프로토 타입
- 모든 객체는 숨겨진 링크(Link)인 프로토타입을 가진다.
- 이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다.
- 이 링크로 자바스크립트는 훨씬 더 다양하게 자신만의 자료구조를 작성할 수 있다.
실행 컨텍스트와 클로저
- 자바스크립트는 자신만의 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이 이루어진다.
- 이 실행 컨텍스트는 자신만의 유효 범위(Scope)를 갖는데, 이 과정에서 클로저를 구현할 수 있다.
객체지향 프로그래밍
- 자바스크립트는 클래스를 지원하지 않지만 객체지향 프로그래밍이 가능하다.
함수형 프로그래밍
- 자바스크립트는 함수형 프로그래밍이 가능하다.
- 함수형 프로그래밍은 높은 수준의 모듈화를 가능케 하는 매우 효율적인 프로그래밍 방법이다.
- 주요 특성인 일급 객체로서의 함수 특성과 클로저를 활용하여 이를 가능케 한다.
- 하지만 이 때문에, 가독성을 떨어뜨리기도 한다.
자바스크립트의 단점
- 굉장한 유연한 언어이고 뛰어난 표현력을 가지고 있다. 하지만 이러한 특성 때문에 종종 디버깅에 어려움을 겪는다.
- 느슨한 타입 체크는 개발자에게 타입 체크에 대한 자유를 주지만, 컴파일 타임에 잡지 못하는 오류는 고스란히 런타임 오류로 발견된다.
- 또한 중요한 논란 중에 하나가 전역 객체의 존재이다. 최상위 레벨의 객체들은 모두 전역 객체 안에 위치하는데, 이는 이름 충돌의 위험성이 있다.
출처
'공부 > JavaScript && jquery' 카테고리의 다른 글
자바스크립트 함수 호이스팅이란? (0) | 2021.04.10 |
---|---|
자바스크립트 함수 정의 (0) | 2021.04.10 |
자바스크립트 프로토 타입 (0) | 2021.04.09 |
자바스크립트 참조 타입(객체 타입) (0) | 2021.04.08 |
자바스크립트 데이터 타입과 연산자 (0) | 2021.04.08 |
Comments