Deep Dive - 05.표현식과 문, 06.데이터 타입

Jihyun-Jeon·2022년 3월 3일
0

Javascript - Deep Dive

목록 보기
3/26

🔶05.표현식과 문

  • 값: 식이 평가되어 생성된 결과

  • 리터럴: 사람이 이해할 수 있도록 약속된 기호를 사용해 값을 표기하는 방법
    ex) 0x000000F2 -> 리터럴로 표시하면 3이 됨.

  • 표현식: 값으로 평가될 수 있는 문

  • 문과 식의 구별법 : 변수에 할당할 수 있으면 식이고, 아니면 문임

1. (statement)
 if(){} // if문을 변수에 담을 수 없음.
 function(){}
 
2.(expression)
var a = 100;
var b = function(){}
  • 함수 표현문과 함수 표현식
//*함수는 크게 함수 선언문과 함수 표현식으로 만들 수 있다.
// 1.함수 선언문 (statement)
function name () {} 

// 2.함수 표현식 expression(식): 함수선언을 "값 처럼" 활용해서 함수를 만드는 방식.
myBtn.addEventListener("click",function(){ //<-함수선언을 값처럼 활용하고 있음. 따라서 이거도 "함수표현식"임  
	consolg.log("gg");                             
  });
  • 함수 표현문과 함수 표현식의 호이스팅
    -"모든 선언문"은 런타임 이전에 준비단계에서 스코프에 등록됨. 따라서 호이스팅 가능 한 것.
    -함수는 준비단계에서 메모리까지 준비됨. 때문에 함수가 실행까지 되는 것임.
    (변수 호이스팅은 선언만 되고 값 할당까진 스코프에 입력되지 않음.)
//1.함수선언문: 호이스팅이 가능함
test1(); //aa출력

function test1(){
	console.log("aa");
	}

//2.함수표현식: 호이스팅이 불가능.(변수 호이스팅과 비슷. 선언만 되있고 메모리까지 준비되어 있진 않아 실행 불가능 한것임.)
test2();  //error남

const test2 = function(){
	console.log("bb)
	}

🔶06.데이터 타입

  • primitive type
    1.numbr : infinity, NaN도 number type임!
    2.string
    3.boolean
    4.undefined : 변수를 선언하고 초기화하지 않았을 때 나옴.
    5.null : 변수에 값이 없다는 것을 의도적으로 명시할 때 사용.
    6.symbol

  • reference type
    1.object
    2.array
    3.function 등

  • 데이터 타입을 구별하는 이유
    1.값을 저장할 떄 확보해야 할 메모리 공간의 크기를 결정하기 위해
    2.메모리에서 읽어 들인 2진수를 어떤 데이터 타입으로 해석할지 결정하기 위해.

0개의 댓글