JS 100제
- 문제56
아래는 나의 풀이
새로운 인사이트
Math.abs()
로 절대값 구하기.
Math.max.apply(null, numArray)
로 최댓값 구하기.
Object.keys
, Object.values
, Object.entries
로 객체의 키, 값, 키-값 값을 얻어낼 수 있다.
<출처-JS 100제 문제56>
https://www.notion.so/56-87c0b313da9f485b98347ab80855f4b5
- 문제57
아래는 나의 풀이
새로운 인사이트
match()
메서드
문법은 string.match(regexp)
regexp는 정규식 객체.
<출처-JS 100제 문제57>
https://www.notion.so/57-6f4571c733154a90bfea2d8972cfc0c1
자바스크립트 완벽 가이드
- "use strict"
- ES5에서 도입한 "지시자(directive)"이다.
- 이 지시자는 아무런 키워드가 없다.
- 따옴표 종류는 상관없다.
- 명시적으로 지시자를 사용하지 않더라도 클래스와 모듈 안에 있는 코드는 자동으로 스트릭트 모드를 따른다.
- with 문 사용할 수 없다.
- 모든 변수는 선언해야 에러가 나지 않는다.
- 스트릭트 모드에서 함수로 호출된 함수의 this 값은 undefined이다.
- 스트릭트 모드에서는 읽기 전용인 프로퍼티에 할당하려 하거나 확장 불가능한 객체에 새 프로퍼티를 생성하려 하면 TypeError가 일어난다.
- eval()은 새 변수를 도입하지 않는다.
- 어떤 형식으로든 eval() 및 arguments 객체의 바인딩 또는 할당을 금지한다.
- delete 연산자 뒤에 변수, 함수, 함수 매개변수 등 유효하지 않은 식별자를 사용할 때 SyntaxError가 일어난다.
- 변경 불가인(non-configurable) 프로퍼티를 삭제하려 하면 TypeError가 일어난다.
- 객체 리터럴을 써서 두 개 이상의 프로퍼티를 같은 이름으로 정의하려 하면 Syntax가 일어난다.
- 함수 선언에서 같은 이름의 매개변수가 두 개 이상 있으면 SyntaxError가 일어난다.
- 8진수 정수 리터럴이 허용되지 않는다.
- eval과 arguments 식별자가 키워드로 취급되며 그 값을 바꿀 수 없다.
- 콜 스택을 살펴보는 기능이 제한된다. arguments.caller와 arguments.callee는 모두 스트릭트 모드 함수에서 TypeError를 일으킨다. caller와 arguments 프로퍼티를 읽어려 해도 TypeError가 일어난다.