기록 > 기억
[JavaScript] var name = []; name의 자료형이 string? 본문
● 에러 발생
var name = ["kim", "lee", "park"];
console.log(typeof name);
//기대값 → object , 출력값 → string
name 변수에 배열을 선언했는데 자료형이 string? object가 아니고??
숫자형도 넣어보고, boolean 값도 넣어봄
var name = 123;
console.log(typeof name);
//기대값 → number 그런데 출력값 → string
var name = true;
console.log(typeof name);
//기대값 → boolean 그런데 출력값 → string
어떤 데이터를 넣어도 자료형이 string ...
● 에러 발생 원인
window.name 속성 때문!!
글로벌 영역에서 name 이라는 변수를 사용하면 window.name 으로 처리 됨
window.name 은 toString 메서드를 사용하여 저장된 모든 값을 문자열로 바꿈!
그래서 어떤 타입의 데이터를 넣어도 string 타입을 반환 한거였음
● 해결 방안
① 변수명 name 말고 다른걸로 변경
var names = ["kim", "lee", "park"];
console.log(typeof names);
//기대값 → object , 출력값 → object
② 변수를 let 으로 선언
let name = ["kim", "lee", "park"];
console.log(typeof names);
//기대값 → object , 출력값 → object
'에러일지' 카테고리의 다른 글
[MySQL] Alias 안먹힐 때 (0) | 2021.10.12 |
---|---|
[MySQL] Public Key Retrieval is not allowed (0) | 2021.10.07 |
[Oracle] java.sql.SQLRecoverableException: IO Error: Connection reset by peer (0) | 2017.11.21 |
[File upload] 파일 업로드 경로 프로젝트 외부에 두기 (0) | 2017.11.08 |
[jQuery] 동적으로 추가한 요소 이벤트 먹통 (0) | 2017.06.30 |
Comments