Javascript 느슨한 타입의 동적 언어(?) 뭔소리?

hipAn·2022년 9월 23일
0

끄적끄적 성장일지

목록 보기
4/30

JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어입니다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능합니다.

let foo = 42 // foo가 숫자
foo = 'bar' // foo가 이제 문자열
foo = true // foo가 이제 불리언

라고 문서에 설명이 되어있다.

글만 읽었을때는 무슨뜻인지 잘 이해가 가지 않았는데 예문을 보니 쉽게 이해가 갔다.

1열의 42 에서는 int형으로 선언하였다.

그런데 이 선언한 foo 값을 아래에서

재할당하면서 42가 'bar' 라는 스트링으로 변경되었다.

또한 그 밑에서는 값이 'bar'에서 true 인 불리언으로 또 변경되었다.

이렇게 이미 한번 선언이 되었음에도

재할당이 여러번 가능하며 또한 특정 자료형에 구속되지않고

자유로운 형변환이 가능하기때문에 느슨한 타입의 동적 언어라고 하는것이었다.

0개의 댓글