자바스크립트 JavaScript
JavaScript is a prototype-based, multi-paradigm,
single-threaded, dynamic language, supporting 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');
POINT !
JavaScript에도 타입이 있다!
Dynamic, Weakly typed programming language !
Summary
우리가 어플리케이션이서 무언가를 처리할 때,
임시로 데이터를 보관할 수 있는 '변수(Variables)'에 대해 알아봄.
변수는 ⓐ값을 저장하는 공간이자 ⓑ자료를 저장할 수 있는 이름이 주어진 기억장소!
So, 최대한 저장된 값을 잘 나타낼 수 있는 의미 있는 이름을 구체적으로 사용해야한다.
변수를 작성하거나 다른 사람의 코드를 볼 때,
이 변수에는 어떤 값이 들어있나?
이것이 처리된 다음에는 어떤 값이 만들어지나?
라는 생각을 하며 코딩을 해나가는 습관이 중요.
꼭 기억해라 !
JavaScript 데이터 타입에는
단일데이터인 원시(Primitive)와 복합데이터인 객체(Object) 타입이 있다.
데이터 타입 (Data Type) |
|
원시 | 객체 |
Number String Boolean Null Undefined Symbol |
Object - array |
'새로운 경험' 카테고리의 다른 글
[TIL] 2022-11-11 Operators 연산자 JavaScript (0) | 2022.11.11 |
---|---|
[TIL] JavaScript 기초문법. 연산자 5~ 값으로 평가될 수 있는 것들? (0) | 2022.11.10 |
[TIL] 2022-11-10 JavaScript 4.10 상수 변수 const, let (0) | 2022.11.10 |
[TIL] 2022-11-10 JavaScript 기초문법 4.9 값과 참조의 차이★ (0) | 2022.11.10 |
[TIL] 2022-11-10 JavaScript 기초문법 4.9 - 객체지향이 무슨말인지 드디어 알게된 것 같은데...? (0) | 2022.11.10 |
댓글