웹을 풍부하게 만들어주는 작고 가벼운 언어입니다. 미국의 넷스케이프 커뮤니케이션즈사(Netscape Communications)가 개발한 스크립트 언어이며. 웹 브라우저에서 실행하는 스크립트 언어를 기술합니다. 작고도 빠르기 때문에 웹문서를 동적으로 꾸밀 때 가장 널리 쓰입니다.
JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어입니다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 가능합니다.
let a = 'name';
let b = 1;
let c = true;
//하나의 자료형으로 모든 타입을 할당 할 수 있다. 이게 javascript에서 말하는 느슨한 타입을 뜻하는 것 같다.
javaScript언어 의 타입 종류
javaScript의 형변환은 두 가지가 있다. 하나는 암시적 변환이고 또 하나는 명시적 변환이다.
Object(), Number(), String(), Boolean()
와 같은 함수를 이용if(0 == "0")
{
console.log("엄격하지않은 == 비교")
}
if(0 === "0")
{
console.log("엄격한 === 비교")
}
//콘솔에서 확인하면 위에있는 if문만 작동되는 것을 알 수 있다.
정의되지 않은 상태는 변수를 선언한 뒤에 아무것도 할당하지 않은 상태를 말합니다. 만일 아무런 값도 반환하지 않는 함수를 특정 변수에 할당하면, 변수는 undefined 상태를 갖게 됩니다. 이러한 상태를 체크하기 위해 엄격한 동등 비교 (===) 연산자나 typeof 키워드를 사용하여 'undefined' 문자열을 받아낼 수 있습니다. 엄격하지 않은 동등 비교 (==)는 null 값과 undefined를 비교했을 때도 true를 반환하므로 부정확합니다.
null 변수는 명시적으로 null이 할당된 경우 생깁니다. null은 아무런 값도 나타내지 않습니다만 무언가 할당은 된 것이기 때문에 undefined와 다릅니다. null을 체크하기 위해서는 간단하게 === 연산자를 사용하면 됩니다. null에 typeof를 하면 undefined에서는 'undefined'가 나왔던 것과 다르게 'object'가 나오게 되니 유의해야 합니다.