JavaScript의 자료형과 특성

이민석·2022년 5월 20일
0

JS

목록 보기
1/4

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

1.javaScript 자료형

데이터 타입(자료형)
기본 또는 원시형 (primitive) 타입이라고 불리는 number, string, boolean, null, undefined
원시 값 : 객체를 제외한 모든 타입은 불변 값(변경할 수 없는 값)을 정의합니다. 예를 들어 (C 언어와는 달리) 문자열은 불변합니다.
컴퓨터가 보다 빠르고 효율적으로 처리하기 위해 자바스크립트라는 프로그래밍 언어가 타입을 구분해놓은 것
Number 타입
Number(배정밀도 64비트 이진 형식 -(2^53 − 1)부터 2^53 − 1까지의 수) : ±Infinity, NaN(Not a Number) 을 가집니다.
Number 타입의 값 중 두 가지 방식으로 표현할 수 있는 유일한 값으로 0이 있습니다. 예컨대 +0 === -0은 참입니다. 42/+0= +Infinity, 42/-0 = -Infinity
BigInt (임의 정밀도로 정수를 나타낼 수 있는 JavaScript 숫자 원시 값) : Number의 안전 한계를 넘어서는 큰 정수도 안전하게 저장하고 연산할 수 있습니다.
Number와 BigInt는 혼합해서 연산할 수 없다. Type Error
String 타입
텍스트 데이터를 나타낼 때 사용합니다. String은 16비트 부호 없는 정수 값 "요소"로 구성된 집합으로, 각각의 요소가 String의 한 자리를 차지합니다. 첫 번째 요소는 인덱스 0에, 그 다음 요소는 인덱스 1, 2, ...입니다. String의 길이는 그 안의 요소 수와 같습니다.
JavaScript 문자열은 불변합니다. 즉 문자열을 생성한 후 바꾸는 것은 불가능합니다. 그러나 원본 문자열을 사용해 새로운 문자열을 생성하는 것은 가능합니다.
문자열 데이터는 이중 따옴표("")나 작은따옴표('')로 데이터를 감싸야 합니다.
Boolean 타입
불린(boolean) : 논리적인 데이터 유형으로 참(true) 혹은 거짓(false) 값만을 가질 수 있다. Javascript에서 불린 조건은 어떤 코드 부문이 실행되어야 할 지(if 절) 또는 어떤 코드 부문을 반복해야 할지(for 문 안) 결정하는 데 쓰인다.
첫 번재 매개변수로서 전달한 값은 필요한 경우 불리언 값으로 변환됩니다.
값이 없거나 0, -0, null, false, NaN, undefined, 빈 문자열 ("")이라면 객체의 초기값은 false가 됩니다.
문자열 "false"를 포함한 그 외 모든 다른 값은 초기값을 true로 설정합니다.
값이 undefined, null이 아닌 모든 객체는 조건문에서 true로 계산됩니다.
Null, Undefined 타입
Null : 일반적으로 존재하지 않거나 유효하지 않은 텅텅 비어 있는 값을 의미합니다.
어떤 값이 의도적으로 비어있음을 표현하며 불리언 연산에서는 거짓으로 취급합니다.
Undefined : 변수를 선언만 하고 값이 할당되어 있지 않은 것에 자동으로 할당됩니다.
객체와 심볼
객체(object)형 : 데이터 컬렉션이나 복잡한 개체 (entity)를 표현할 수 있습니다.
심볼(symbol)형 : 객체의 고유한 식별자를 만들 때 사용
typeof 연산자로 데이터 타입판별 가능
연산자 : typeof x
함수 : typeof(x)

2. JavaScript 형변환

숫자 변환
변수 = String(숫자) : 문자를 정수형 숫자로 변환
변수 = "문자열 숫자" / 1 : 문자열 숫자를 숫자로 변환(- 포함해서)
변수 = 숫자toString(진법) : 숫자를 문자로 변환 (10진법에서 다른 진법을 변환 가능)
변수 = 숫자 + "문자열" : 숫자와 문자열을 한 문자열로 더해줌
문자 변환
변수 = parseInt(문자) : 문자를 정수형 숫자로 변환
변수 = parseFloat(문자) : 문자를 실수형 숫자로 변환
변수 = Number(문자) : 문자를 정수 & 실수형 숫자로 변환

3. 연산자

삼항 연산자 "?" : 조건 연산자는 조건의 논리 값에 따라 두 값 중 하나를 반환합니다. (Javascript에만 있음)
등호 연산자
== : 평등 연산자
!= : 부등호 연산자
=== : 엄격한 항등 연산자
!== : 엄격한 부등식 연산자

JavaScript 객체와 불변성이란?

기본형 데이터와 참조형 데이터
기본형 데이터는 값을 그대로 할당한다. 메모리상에 고정된 크기로 저장되며
원시 데이터 값 자체를 보관하므로, 불변적이다. 기본적으로 같은 데이터는 하나의 메모리를 사용합니다.
참조 타입은 변수에 할당할때 값이 아닌 데이터의 주소를 저장한다.
Object(객체) : Array, Function, RegExp(정규표현식), Map
불변 객체를 만드는 방법
const : 변수를 상수로 선언 - 할당된 값이 상수가 되는 것이 아닌 바인딩된 값이 상수
(재할당은 불가능이지만, 객체 속성은 변경 가능)
Object.freeze() : 객체를 동결하기 위한 기본 제공 메소드
key value를 가진 객체를 바인딩 후 바인딩된 변수를 동결 객체로 만듬.
(재할당은 가능이지만, 객체 속성은 변경 불가)
const와 Object.freeze함께 쓰면 불변 객체가 됩니다.

const test = {'name' : 'jung'};
Object.freeze(test);

0개의 댓글