TIL-24 JS 100제, 자바스크립트 완벽 가이드

khundi·2022년 6월 25일
0
post-thumbnail

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가 일어난다.
profile
안녕하세요. 웹 프론트엔드 개발자 전성훈입니다.

0개의 댓글