데이터 타입 [06장]

분할 데이터 형식 설명
원시 유형 숫자 유형 정수와 실수가 구분되지 않는 숫자 유형은 하나뿐입니다.
문자열 유형
부울 유형 논리적 참 거짓
정의되지 않은 유형 var 키워드로 선언된 변수에 암시적으로 할당된 값입니다.
널 유형 값이 존재하지 않음을 의도적으로 나타내기 위해 사용되는 값
아이콘 유형 7. ES6에 유형 추가
개체 유형 객체, 함수, 배열 등

1. 숫자 유형

JavaScript는 한 가지 유형의 숫자만 있다는 점에서 독특합니다.

모든 숫자는 실수로 취급됩니다. 정수만을 나타내는 별도의 데이터 유형은 없습니다.

숫자 추가 값

  • 무한대(ex 10/0) ​​: 양의 무한대
  • -Infinity (ex 10/-0) : 음의 무한대
  • NaN (ex 1*’String’): 산술 연산 불가, 대소문자 구분

2. 문자열 유형

다른 유형과 달리 문자열은 키워드나 식별자와 같은 토큰과 구별하기 위해 따옴표로 묶입니다.

문자열을 따옴표로 묶지 않으면 JavaScript 엔진은 문자열을 토큰으로 인식합니다. B. 키워드 또는 식별자로.

3. 부울 유형: 참, 거짓, 논리적 참 또는 거짓을 나타냄

4. undefined : undefined는 정의되지 않은 유형의 유일한 값입니다.

개발자가 JavaScript 엔진이 변수를 초기화하는 데 사용하는 변수에 의도적으로 undefined를 할당하는 경우.

정의되지 않음 원래 목적을 무산시키고 혼동을 일으킬 수 있으므로 권장하지 않습니다. 변수에 값이 없음을 나타내려면 null을 할당하십시오!!

5. null: 변수에 값이 없음을 의도적으로 나타내는 데 사용됩니다.

변수에 null을 할당하면 변수가 이전에 참조했던 값을 더 이상 참조하지 않음을 의미합니다.

이는 이전에 할당된 값에 대한 참조를 명시적으로 제거하는 것을 의미합니다.

6. Symbol Type: 불변의 원시형 값으로, 다른 값과 중복되지 않는 고유한 값.

기호 이외의 기본 값은 리터럴로 생성되지만 기호는 기호 함수를 호출하여 생성됩니다.

이때 생성되는 심볼 값은 외부에 노출되지 않는 한 다른 값과 절대 겹치지 않는 고유한 값이다.

let key = Symbol('key');
console.log(typeof key); // symbol

데이터 유형이 필요한 이유는 무엇입니까?

데이터 유형, 즉 값 유형에 따라 JavaScript 엔진은 고정된 크기의 메모리 공간을 저장합니다.

즉, 백업할 메모리의 양은 변수에 할당된 값의 데이터 유형에 따라 결정됩니다.

  • 값을 저장할 때 해제할 메모리 양 지정
  • 값을 참조할 때 한 번에 읽을 메모리 양을 결정하려면
  • 메모리에서 읽은 이진수 해석 방법 결정

JavaScript는 동적으로 유형이 지정되는 언어이며 변수를 선언할 때 유형을 선언하지 않습니다.

var, let 및 const 키워드를 사용하여 변수를 선언하기만 하면 됩니다.

정적으로 유형이 지정된 언어와 달리 모든 데이터 유형의 값을 자유롭게 할당할 수 있습니다.

typeof 연산자: typeof 연산자로 변수를 연산하면 변수에 할당된 값의 데이터 타입이 반환됩니다.

JavaScript의 변수는 선언이 아닌 할당으로 입력됩니다. 또한 변수의 유형은 재할당을 통해 언제든지 동적으로 변경할 수 있습니다.

이를 통해 동적으로 유형이 지정된 언어는 모든 데이터 유형의 값을 변수에 자유롭게 할당할 수 있습니다.

동적으로 입력되는 언어만 좋은가요?

변수 값은 언제든지 변경될 수 있기 때문에 복잡한 프로그램에서 변경되는 변수 값을 추적하기 어려울 수 있습니다. 또한 고정 유형이 아니고 동적으로 변경되는 동적으로 유형이 지정된 언어 변수는 값을 변경하여 언제든지 유형을 변경할 수 있습니다. 따라서 동적으로 입력되는 언어

값을 확인하기 전에는 변수 유형을 확신할 수 없습니다.

동적 유형 언어는 유연성은 높지만 신뢰성은 낮습니다.

변수에 타입이 있나요?

기본적으로 변수에는 유형이 없습니다. 그러나 값에는 유형이 있습니다.

따라서 변수의 유형은 현재 변수에 할당된 값에 의해 동적으로 결정된다고 말하는 것이 더 적절합니다.

이는 변수가 값에 바인딩된 값의 별칭이기 때문입니다.

트레이드 오프(Trade-off): 두 가지 정책 또는 목표 중 하나의 달성이 다른 목표의 달성을 지연시키거나 희생시키는 상충 관계.

변수 사용 시 주의사항

  • 변수는 반드시 필요한 경우에만 사용됩니다. 변수 값은 재할당을 통해 언제든지 변경할 수 있습니다.
  • 변수의 범위(scope)는 변수의 부작용을 억제하기 위해 가능한 한 좁게 만들어야 합니다. 변수의 유효 범위가 넓을수록 변수로 인해 오류가 발생할 확률이 높아집니다.
  • 가능한 한 전역 변수를 사용하지 마십시오. 어디에서나 참조/변경이 가능한 전역 변수는 의도치 않게 값이 변경될 가능성이 높고 다른 코드에 영향을 줄 가능성이 높습니다.
  • 값의 변경을 억제하려면 변수 대신 상수를 사용하십시오.
  • 변수 이름은 변수의 목적이나 의미를 식별할 수 있는 방식으로 명명됩니다. 존재 이유를 식별하는 적절한 이름으로 이름을 지정해야 합니다.