객체 지향 JavaScript — 매개변수 및 내장 함수

https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62에서 Amazon에서 내 책을 확인하십시오.

지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.

JavaScript는 부분적으로 객체 지향 언어입니다.

JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.

이 기사에서는 다양한 종류의 함수와 매개변수를 살펴보겠습니다.

기본 매개변수



함수에서 기본 매개변수를 설정할 수 있습니다.

그렇게 하려면 매개변수에 값을 할당하기만 하면 됩니다.

우리는 쓸 수있다:

function render(fogLevel = 0, sparkLevel = 100) {
  console.log(`Fog Level: ${fogLevel} and spark level:
${sparkLevel}`)
}

renderfogLevel 매개변수가 있는 sparkLevel 함수가 있습니다.

그리고 기본값을 각각 0과 100으로 설정했습니다.

그런 다음 우리가 가지고있는 경우 :

render()


그런 다음 우리는 다음을 얻습니다.

'Fog Level: 0 and spark level: 100'


기본 매개변수에는 자체 범위가 있습니다.

범위는 외부 기능 범위와 내부 기능 범위 사이에 끼워져 있습니다.

따라서 다음이 있는 경우:

let scope = "outer";

function scoper(val = scope) {
  let scope = "inner";
  console.log(val);
}
scoper();


그러면 val는 함수 외부에서 'outer'를 취하기 때문에 scope가 됩니다.

나머지 매개변수



나머지 매개변수를 사용하면 함수에서 임의의 수의 인수를 얻을 수 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

function getTodos(...todos) {
  console.log(Array.isArray(todos));
  console.log(todos)
}


그런 다음 첫 번째 콘솔 로그는 true  입니다.

그리고 두 번째는 [“eat”, “drink”, “sleep”]  .
todos 앞에 나머지 연산자가 있기 때문에 배열입니다.

이렇게 하면 인수를 가져와 모두 todos 배열에 넣습니다.

그리고 우리는 두 번째 콘솔 로그로 그것들을 모두 얻습니다.

스프레드 연산자



확산 연산자를 사용하면 배열 항목을 함수의 인수로 확산할 수 있습니다.

배열의 값을 퍼뜨리는 데 사용할 수도 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

const min = Math.min(...[1, 2, 3]);


이것은 다음과 같은 기존 방식을 대체합니다.

const min = Math.min.apply(undefined, [1, 2, 3]);


스프레드 연산자는 이해하기 쉽고 더 짧습니다.

1, 2, 3은 Math.min  의 인수입니다.

확산 연산자를 사용하여 배열 항목을 다른 배열로 병합할 수도 있습니다.

예를 들어 다음과 같이 작성할 수 있습니다.

const midweek = ['Wed', 'Thu'];
const weekend = ['Sat', 'Sun'];
const week = ['Mon', 'Tue', ...midweek, 'Fri', ...weekend]


그러면 week는 다음과 같습니다.

["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]


미리 정의된 함수



JavaScript에는 미리 정의된 여러 함수가 있습니다.

그들은:
  • parseInt() 
  • parseFloat() 
  • isNaN() 
  • isFinite() 
  • encodeURI() 
  • decodeURI() 
  • encodeURIComponent() 
  • decodeURIComponent() 
  • eval()
  • parseInt 숫자가 아닌 값을 정수로 구문 분석합니다.

    예를 들어 다음과 같이 작성하여 parseInt를 사용할 수 있습니다.

    parseInt('123')
    

    parseFloat 숫자가 아닌 값을 부동 소수점 숫자로 구문 분석합니다.

    그리고 우리는 123  를 얻습니다.

    예를 들어 다음과 같이 작성하여 parseFloat를 사용할 수 있습니다.

    parseFloat('123.45')
    


    그리고 우리는 123.45  를 얻습니다.
    isNaN는 값이 NaN인지 확인합니다.  .

    따라서 다음이 있는 경우:

    isNaN(NaN)
    

    true  .
    isFinite 값이 유한 숫자인지 확인합니다.

    따라서 다음과 같이 작성할 수 있습니다.

    isFinite(Infinity)
    


    그리고 우리는 false  를 얻습니다.
    encodeURI 를 사용하여 문자열을 URI로 인코딩할 수 있습니다.

    예를 들어 다음이 있는 경우:

    const url = 'http://www.example.com/foo?bar=this and that';
    console.log(encodeURI(url));
    


    그리고 우리는 다음을 얻습니다:

    'http://www.example.com/foo?bar=this%20and%20that'
    


    그리고 decodeURI 를 사용하여 URI 문자열을 디코딩할 수 있습니다.
    encoudeURIComponentdecodeURIComponent는 URI의 일부에 대해 동일한 작업을 수행할 수 있습니다.

    우리가 쓰는 경우 :

    const url = 'http://www.example.com/foo?bar=this and that';
    console.log(encodeURIComponent(url));
    


    그리고 우리는 다음을 얻습니다:

    'http%3A%2F%2Fwww.example.com%2Ffoo%3Fbar%3Dthis%20and%20that'
    

    eval 문자열에서 코드를 실행할 수 있습니다. 이것은 누구나 악의적인 문자열을 전달할 수 있으므로 사용해서는 안 되는 것입니다.

    그리고 문자열의 코드는 최적화할 수 없습니다.

    결론



    기본 매개변수를 사용하면 매개변수가 인수로 설정되지 않은 경우 매개변수의 기본값을 설정할 수 있습니다.

    JavaScript에는 사용할 수 있는 몇 가지 미리 정의된 기능이 있습니다.

    나머지 및 스프레드 연산자는 인수를 처리하는 데 편리합니다.

    좋은 웹페이지 즐겨찾기