새로운 경험

[TIL]2022-11-10 JavaScript 4.11 타입 확인법(typeof) - 4챕터(변수) 마무

시바카오 2022. 11. 10.

자바스크립트 JavaScript

 

JavaScript is a prototype-based, multi-paradigm,
single-threaded, dynamic languagesupporting object -oriented,

imperative, and declarative(e.g. functional programming) styles.


JavaScript는 동적인 언어이다? 뭔 소리냐?

 

Java or C, C++와 같은 다른 프로그래밍 언어들은 '컴파일러'를 필요로 함.

개발자가 작성한 코드를 컴파일러를 이용해서 실행파일로 변환해야지 실행할 수 있다.

 

컴파일러를 가지고 있는 프로그래밍 언어는 대부분 '정적타입(Static Type)'이다.

컴파일 할 때, 코드에 있는 모든 데이터 타입들이 정적으로 정해짐.

사전에 모든 타입 정보들이 확인이 되고 체크가 되고 컴파일이 되는 반면,

 

JavaScript Engine은 인터프리터 ! '동적타입(Dynamic Type)'

런타임(어플리케이션 동작)을 할 때, 코드를 한 줄 한 줄 번역하여 실행함으로써,

타입들이 동적으로 다이나믹하게 결정이 된다. 

 

// typeof : 데이터 타입을 확인 할 때 사용하는 연산자.
// 특정한 데이터의 값을 type 문자열로 반환해주는 연산자.
// 컴파일 언어에서는(C 또는 JAVA) (strongly type)
// Int variable = 0; // 한 번 이렇게 타입이 할당되어 있으면, 다른 타입 데이터 할당 불가.

let variable;
console.log(typeof variable);

variable = '';
console.log(typeof variable);

variable = 123; // ◀ 자바스크립트는 동적으로 실행 될 때,
                // 할당된 값에 따라 타입이 결정됨! (weakly type)
console.log(typeof variable);

variable = {};
console.log(typeof variable);

variable = function () {};
console.log(typeof variable);

variable = Symbol();
console.log(typeof variable);

console.log(typeof 123);
console.log(typeof '123');
// typeof : 데이터 타입을 확인 할 때 사용하는 연산자.
// 특정한 데이터의 값을 type 문자열로 반환해주는 연산자.
// 컴파일 언어에서는(C 또는 JAVA) (strongly type)
// Int variable = 0; // 한 번 이렇게 타입이 할당되어 있으면,
// 다른 타입 데이터 할당 불가. 이를 정적타입이라고 한다 !


POINT !

JavaScript에도 타입이 있다!

Dynamic, Weakly typed programming language !


 

Summary

우리가 어플리케이션이서 무언가를 처리할 때,

임시로 데이터를 보관할 수 있는 '변수(Variables)'에 대해 알아봄.

 

변수는 ⓐ값을 저장하는 공간이자 ⓑ자료를 저장할 수 있는 이름이 주어진 기억장소!

So, 최대한 저장된 값을 잘 나타낼 수 있는 의미 있는 이름을 구체적으로 사용해야한다.

 

변수를 작성하거나 다른 사람의 코드를 볼 때,

이 변수에는 어떤 값이 들어있나?

이것이 처리된 다음에는 어떤 값이 만들어지나?

라는 생각을 하며 코딩을 해나가는 습관이 중요.

 


꼭 기억해라 !

JavaScript 데이터 타입에는

단일데이터인 원시(Primitive)와 복합데이터인 객체(Object) 타입이 있다.

 

 

데이터 타입 (Data Type)
원시  객체 
Number
String
Boolean
Null
Undefined
Symbol
Object - array

 

댓글

💲 추천 글