Note¶
Strict 모드¶
- ECMAScript5에서 소개된 모드. JS 코드에 더욱 엄격한 오류 검사 적용
Example
"use strict" // 전체 스크립트를 strict 모드로 설정함.
try {
num = 3.14; // 선언되지 않은 변수를 사용했기 때문에 오류를 발생!
} catch (ex) {
document.getElementById("text").innerHTML = ex.name + "<br>";
document.getElementById("text").innerHTML += ex.message;
}
대상 | 제한 사항 |
---|---|
변수 | 선언되지 않은 변수나 객체를 사용할 수 없음 eval() 함수 내에서 선언된 변수는 외부에서 사용할 수 없음 |
프로퍼티 | 읽기 전용 프로퍼티에는 대입할 수 없음 한 프로퍼티를 여러 번 정의할 수 없음 |
함수 | 함수를 구문이나 블록 내에서 선언할 수 없음 |
매개변수 | 매개변수의 이름이 중복되어서는 안됨 arguments 객체의 요소 값을 변경할 수 없음 |
문자열 | 문자열 "eval"과 "arguments"는 사용할 수 없음 |
8진수 | 숫자 리터럴에 8진수 값을 대입할 수 없음 |
this | this 포인터가 가르키는 값이 null이나 undefined인 경우 전역 객체로 변환되지 않음 |
delete | delete 키워드를 사용할 수 없음 |
with | with 문을 사용할 수 없음 |
예약어 | implements, interface, let, package, private, protected, public, static, yield 사용할 수 없음 |
JSON + Javascript¶
- JSON.stringify(obj) : 자바스크립트 객체를 JSON 문자열로 변환 (UTF-16)
- JSON.parse(jsonStr) : JSON 문자열을 자바스크립트 객체로 변환
- toJSON() : JS의 Date 객체의 데이터를 JSON 형식의 문자열로 변환
YYYY-MM-DDTHH:mm:ss.sssZ
,±YYYYYY-MM-DDTHH:mm:ss.sssZ
Methods¶
- eval() : 문자열로 표현된 JS 코드를 실행하는 함수
- isFinite() : 값이 유한한 수인지 검사
- isNaN() : NaN인지 판단함으로써 매개변수가 숫자인지 검사
- 매개변수가 숫자이면 false, 숫자가 아니면 true 반환
- null은 체크 불가
- ECMAScript 6부터는 Number.isNaN() 메소드의 사용 권장
(Number.isNaN()은 문자열을 전달하면 false 반환)
- encodeURI() : URI에서 주소를 표시하는 특수문자를 제외하고, 모든 문자를 이스케이프 시퀀스 처리하여 부호화
encodeURI(부호화할 URI);
- encodeURIComponent() : encodeURI()에서 부호화하지 않은 모든 문자까지 포함하여 이스케이프 시퀀스 처리
encodeURIComponent(부호화할 URI);
- decodeURI() : URI 해독
decodeURI(해독할 URI);
- decodeURIComponent() : URI 컴포넌트 해독
decodeURIComponent(해독할 URI);
escape(): 전달값 중 특정 문자들을 16진법 이스케이프 시퀀스 문자로 변환escape("문자열");
unescape(): 이스케이프 시퀀스 문자를 원래의 문자로 변환unescape(escape("문자열"));
Quote