본문 바로가기
반응형

JavaScript3

천 단위 콤마(,) 찍기 꿀팁 숫자 : toLocaleString() 날짜 : toLocaleDateString() 2021. 1. 29.
조금 이상한 함수 매개변수 자바스크립트의 함수 매개변수는 다른 언어의 매개변수와 다르게 동작한다. 코드를 보자. function hello(name) { alert("안녕! " + name); } 자바와 같은 언어를 접해봤다면 name 이라는 매개변수가 꼭 있어야 한다고 생각하겠지만, 실제로는 아래와 같이 매개변수를 넣어주지 않거나, 더 많은 매개변수를 지정하여 호출해도 에러가 안난다;; hello(); // 정상 동작 hello("건희", 10); // 정상 동작 어떻게 이런일이 가능할까?? 함수 매개변수 내부 구조 위와같은 동작이 가능했던 이유는 ECMAScript의 매개변수가 내부적으로는 배열로 표현되기 때문이다. 함수는 arguments 라는 객체를 갖는데, 이 객체를 통해 매개변수의 값이 접근할 수 있다. 첫 번째 매개변.. 2021. 1. 22.
strict mode 스트릭트 모드 (엄격모드) ECMAScript 5 에서는 '스트릭트 모드' 라는 개념을 도입했다. 스트릭트 모드는 기존과는 다른 방식으로 자바스크립트를 파싱하고 실행하라고 지시하는 것인데 ECMAScript 3판의 문제를 해결했으며 안전하지 않은 동작에는 에러를 반환한다. 라고 하는데, 다른 방식이라는게 뭘까? 검색해보니 '엄격하게 문법 검사를 하겠다' 라고 이해하면 될 듯 하다. 아래 예시를 보자. a = 10; JS 는 변수 선언 키워드 없이 위처럼 사용해도 에러가 안난다. (이것을 암시적 변수 선언이라고 함) 따라서 스트릭트 모드를 사용한다면 아래와 같이 선언을 강제한다. var a = 10; 전체 스크립트에 스트릭트 모드를 적용하려면 스크립트 맨 위에 다음을 추가하면 .. 2021. 1. 22.