[JS] JavaScript의 자료형과 JavaScript만의 특성은 무엇일까 ?

괴발·2022년 8월 6일
0

울지말고JavaScript

목록 보기
6/9
post-thumbnail


1.느슨한 타입(loosely typed)의 동적(dynamic) 언어



> _**JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어입니다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능합니다._**

JavaScript 의 언어는 원시값과 객체로 나뉜다.
이런 일련의 타입을 "원시 값"이라고 합니다.

[ 원시값 ]

"객체를 제외한 모든 타입은 불변 값(변경할 수 없는 값)을 정의합니다.

____ 예를 들어 (C 언어와는 달리) 문자열은 불변합니다."







string type

텍스트 데이터를 나타낼 때 사용하는 string type 은 C 언어와 다르게 문자열이 불변하다. 이는 한번 선언한 문자열은 다른 문자를 추가, 삭제 해도 이미 선언한 문자가 직접 변경되는 것이 아니라 새 문자열이 생성되는 것이다.

예)'eoo' 라는 문자열을 생성하면 값을 저장하기 위해 일부 메모리가 할당된다. 이 메모리는 변경되지 않는다. 여기에 'vv' 라는 문자열을 추가하여 'eoo'를 수정한다면 이제 'eoo' 와 'vv' 두개의 메모리가 사용된다. 'eoo' 또는 'vv'를 사용하지 않더라고 유지된다. 문자열 연산이 비용이 많이드는 이유라고 한다.


number type

내장 숫자 타입. -(2의53승-1_ 부터 2의53승의-1 까지 정밀표현 가능하다. (이 수를 벗어난다고 계산이 안되는 것은 아니나 정밀도가 줄어든다고 한다.) 외에도 +Infinity -Infinity NaN(Not a Number)로 표현할 수 있다.


biglnt type

내장 숫자 타입. number type의 안전한계를 넘어서는 큰 정수도 안전하게 저장하고 연산할 수 있다. 정수 끝에 n 을 추가하거나 생겅자를 호출하여 생성 가능하다.


boolean type

논리 요소인 true, false 값을 갖는다.


symbol type

Symbol은 고유하고 변경 불가능한 원시 값이며 객체의 속성(아래를 참고하세요) 키로 사용할 수 있습니다. 어떤 프로그래밍 언어들에선 "아톰"이라고 부르기도 한다.


undefined type

값이 할당되지 않은 변수. 변수 선언 후 초기화 또는 값을 넣지 않은 상태의 변수값을 표현한다.


null type

null type은 null 값 하나만 존재한다.


img is-128x128

profile
괴발개발

0개의 댓글