본문 바로가기
Computer Language 🗣/JavaScript

[Javascript] 데이터 타입

by 돼지고기맛있다 2021. 8. 10.
반응형

이번 포스팅은 자바스크립트에서 사용되는 변수 선언 타입과 데이터 타입에 대한 이해! 그리고 dynamic Typing에 대한 이해를 해보려 한돠!

1. 변수 - rw(read/write)

📌 let (added in ES6)

//let (added in ES6)
//global name은 블럭 안, 블럭 바깥에서 모두 사용된다.
// app이 실행되고나서부터 끝날때까지 계속 메모리에 유지되는 내용이니
//최소한으로 사용하는 것이 좋다!
let globalName = "global name";
//block scope
//블럭 내의 내용들은 블럭 바깥에서 접근이 불가능하다!

{
  let name = "sieun";
  console.log(name);
  name = "hello";
  console.log(name);
}

📌  var

var는 ES5까지 쓰이던 아이인데 쓰지마세요

 

쓰지 말아야하는 이유

  • var는 변수가 선언되기 이전에 사용이 가능하다. = var hoisting!
//available
age = 4;
var age;

//Error!
age = 4;
let age;
  • block scope이 없음: 블럭안에서 변수를 선언해도 어디에서나 var를 읽을 수 있다. ⇒ 규모 있는 프로젝트에서 위험이 커짐

 

✏️ Hosting 이란?

호이스팅은 어디에 선언됐냐에 상관없이 선언을 가장 위에로 옮겨주는 것!

 

📌  Constant, r(read only)

한번 할당하면 값이 절대 바뀌지 않아요!

 

Immutable data types: primitive types, frozen objects (i.e. object.freeze())

Mutable data types: all objects by defauly are mutable in JS

favor immutable data type always for a few reasons

  • security : 해커들이 값을 다른 값으로 변경하게 하는 것을 막을 수 있다.
  • thread safety: thread가 다양하게 돌아가고 있는데, thread가 동시에 변수에 접근해서 값을 변경하는 경우가 생기고 이것은 굉장히 위험한 일!
  • reduce human mistakes: 내가 코드를 변경하거나, 다른 사람이 코드를 변경하는 경우에도 실수를 방지할 수 있따!

 

2. Variable Types

✔️ Primitive-type: 더이상 작은 단위로 나눠질 수 없는 한가지 아이템

single item: number, string, boolean, null, undefined, symbol

 

✔️ boolean

false: 0, null, undeined, NAN, ‘ ‘

true: any other value

 

✔️ Object-type: 싱글 아이템을 여러가지로 묶어서 하나로 관리할 수 있는 것

box container

const sieun = { name: "sieun", age: 25 };
sieun.name = "ssinee";

 

✔️ Function:

first-class function: 함수도 다른 데이터 타입처럼 변수에 할당이 가능하다!

function을 return 하거나 parameter로 넘기는 것이 가능함

 

3. Dynamic typing : dynamically typed language

let text = 'hello';

console.log(text.charAt(0));

console.log(`value : ${text}, type: ${typeof text}`);
text = 1;
console.log(`value : ${text}, type: ${typeof text}`);
text = '7' + 5;
console.log(`value : ${text}, type: ${typeof text}`);
text = '8' / '2';

 

📌 String Concatenation

console.log("my" + "cat");
console.log("1" + 2);
console.log(`string literals: 1 + 2 = ${1 + 2}`);

 

 

 

TypeScript: Javascript 위에 Type이 더 올려진 아이!


 

JavaScript | MDN

JavaScript (JS)는 경량, 인터프리터 혹은 just-in-time 컴파일 프로그래밍 언어로, 일급 함수를 지원합니다. 웹 페이지를 위한 스크립트 언어로 잘 알려져 있지만, Node.js, Apache CouchDB, Adobe Acrobat처럼 많

developer.mozilla.org

 

👍 해당 포스트는 드림코딩 엘리의 유투브 강의를 보고 정리한 내용입니다.

반응형

댓글