JavaScript_변수와 자료형

김덕근·2023년 2월 23일
0

JAVASCRIPT

목록 보기
4/18

Javascript는 변수 선언 시 자료형이 아닌
var, let, const, (미작성) 중 하나를 골라서 작성함

var : 변수, 변수명 중복O(덮어쓰기), 함수 레벨 scope
let : 변수, 변수명 중복 X, 블록{} 레벨 scope
const : 상수, 변수명 중복 X, 블록{} 레벨 scope

  • 1순위 : const (JS는 HTML상에서 특정 요소를 선택해 지속적으로 추적하는 경우가 많다. 상수형 변수에 저장해 고정적으로 사용)
  • 2순위 : let
  • 3순위 : var
  • 비추천 : 미작성

JS는 변수 선언 시 별도의 자료형을 지정하지 않음.
-> 변수에 대입되는 값(== 리터럴)에 의해서 자료형이 결정됨.

  • string (문자열 / "abc", 'abc')
  • number (숫자 / 100(정수), -3.14(실수))
  • boolean (논리값 / true, false)
  • object (객체 / 배열(Array), JS객체 {K:V, K:V})
  • function (함수)
  • undefined (자료형이 정의되지 않은 변수) -> 값이 대입되지 않는 변수
  • null은 참조하는게 없음을 나타내는 리터럴(자료형 X)

typeof 변수명 : 해당 변수의 자료형을 반환하는 연산자


object(배열, JS객체)

배열 선언과 동시에 초기화
JS ([] 사용)
const arr = [10, 20, 30, 40, 50];


JS 객체

  • K:V 쌍으로 이루어짐(Map 형식)
  • Key는 무조건 String
  • 리터럴 표기법 : {}
    const user = { "K" : V , "K" : V };
const user = { "id" : "user01", "pw" : "pass01", "num" : 123, "a" : arr};
typeBox.innerHTML += "<br><br>user : " + user + " / " + typeof user;

console.log(user);

객체에 저장된 값 출력
typeBox.innerHTML += "<br>user.id" + user.id;
typeBox.innerHTML += "<br>user.pw" + user.pw;
typeBox.innerHTML += "<br>user.num" + user.num;
typeBox.innerHTML += "<br>user.a" + user.a;
typeBox.innerHTML += "<br>user.a[2]" + user.a[2];

function

1) 변수명 == 함수명

const fnSum = function(n1, n2) { // 익명함수
	return n1 + n2;
}

함수명만 작성하는 경우 => 함수에 작성된 코드 자체가 반환
typeBox.innerHTML += "<br><br>fnSum : " + fnSum + " / " + typeof fnSum;

// 함수명(매개변수) == 함수호출 (함수 코드가 수행됨)
    typeBox.innerHTML += "<br><br>fnSum(1,2) : " + fnSum(1,2);

// 2) 함수를 매개변수로 전달하는 형태

function plusFn(num, fn) {
	// num : number
	// fn : function
	return num + fn();
}

  const result = plusFn(100, function() {return 30 - 10;})

  typeBox.innerHTML += "<br><br>result : " + result;
}
profile
안녕하세요!

0개의 댓글