RegExp Object // ES6 에서 정규 표현식에 플래그가 추가되었다. // https://infoscis.github.io/2018/01/24/ecmascript-6-strings-and-regular-expressions/ /* 정규 표현식에 u 플래그가 설정되면, Code unit이 아닌 문자에 대한 작업 모드로 전환됩니다. 즉 정규 표현식이 문자열의 Surrogate pair에 대해 더 이상 혼동하지 않아야 하며 예상대로 작동해야합니다. 예를 들어 다음 코드를 생각해 보겠습니다 정규 표현식 /^.$/은 입력 문자열을 단일 문자와 일치시킵니다. u 플래그없이 사용하면 이 정규 표현식이 Code unit으로 일치를 판단 하기 때문에 한자(두개의 Code unit으로 표현됨)가 정규 표현식과 일..
WEB/ECMAScript
Template Literal // Template Literal : 문자열 처리를 위한 템플릿 제공 console.log(`12345`); console.log(`라인 1\n라인2`); console.log(`첫번째줄 두번째줄`); let one=1, two=2; console.log(`${one+two}`); /* 12345 라인 1 라인2 첫번째줄 두번째줄 3 */ // tagged Template // 함수를 호출하기 전에 템플릿에서 문자열과 표현식을 분리하고 이를 파라미터 값으로 넘겨준다. function tagF1(text, value) { console.log(text[0], value); // 1+2= 3 console.log(text[1], typeof text[1]); // "" str..
Math 오브젝트 /* sinh() : 쌍곡 사인 asinh() : 쌍곡 아크사인 cosh() : 쌍곡 코사인 acosh() : 쌍곡 아크코사인 tanh() : 쌍곡 탄젠트 atanh() : 쌍곡 아크탄젠트 log1p() : log(1+파라미터 값) log10() : 10을 밑으로 한 로그 값 log2() : 2을 밑으로 한 로그값 expm1() : 자연로그 상수(e)의 x승 -1 hypot() : 제곱근 cbrt() : 세제곱근 sign() : 사인값 trunc() : 소수를 제외한 정수 imul() : 파라미터 값을 곱하고 결과를 32비트로 변환 clz32() : 32비트 값에서 0비트 수 fround() : 32비트 유동 소수 값 */ // 예시 console.log(Math.sinh(0)); //..
console.log("1:",Number.MAX_SAFE_INTEGER); console.log("2:",Math.pow(2,53)-1); console.log("1:",Number.MIN_SAFE_INTEGER); console.log("2:",-(Math.pow(2,53)+1)); /* 1: 9007199254740991 2: 9007199254740991 1: -9007199254740991 2: -9007199254740992 */ let total = 0.1+0.2; console.log(total); // 0.30000000000000004 let result = (Math.abs(0.1+0.2-0.3)
// Object // Object 같은 Key 사용 /* ES3 key값이 같더라도 추가 ES5 strict 모드에서는 에러 ES6 strict 모드와 관계없이 에러발생하지않으며 마지막값으로 대체 */ let sameKey = {one : 1, one:2}; console.log(sameKey); // {one: 1} // 변수 이름으로 값 설정 let one = 1, two =2; let values = {one, two}; console.log(values); // {one: 1, two: 2} // Object에 function 작성 // ES6 let obj = { getTotal(param) { return param+123; } }; /* ES5 let obj = { getTotal : fu..