WEB/JAVASCRIPT

[JS] 변수 타입 확인하기 - typeof, constructor

_yoonie 2022. 9. 14. 18:11

넘어온 파라미터의 타입을 확인해서 return을 달리해야하는 함수를 만들 일이 생겼다.

# typeof

var a = "a";
var b = 100;
var c = [1,2,3];
var d = { name : 'jiyoon'};

console.log(typeof a); // string
console.log(typeof b); // number
console.log(typeof c); // object
console.log(typeof d); // object

array와 object를 구분해주지 못한다. 모든 Javascript Object들이 가지고 있는 constructor속성을 확인하면 더 정확히 구분할 수 있다.

# constructor

var a = "a";
var b = 100;
var c = [1,2,3];
var d = { name : 'jiyoon'};

console.log(a.constructor); // String
console.log(b.constructor); // Number
console.log(c.constructor); // Array
console.log(d.constructor); // Object

# 활용 예

getyyyy_MM_dd = function(date)
{
	if(typeof date == "string")
	{
		return getyyyy_MM_dd(getConvertDate(date));
	}
	else
	{
		if (date == undefined)
		{
			date = new Date();
		}
		
		var year = date.getFullYear().toString().padLeft(4, "0");
		var month = (date.getMonth()+1).toString().padLeft(2, "0");
		var day = date.getDate().toString().padLeft(2, "0");
		
		return (year + "-" + month + "-" + day);
	}
}
728x90