소프트웨어 개발자 주간 업데이트 #10: 기능, 기능 및 추가 기능...



이번 주는 functions에 관한 모든 것이었습니다! 손에 커피(또는 차)를 드시기 바랍니다. 요약할 내용이 많습니다!

주제


  • Return 키워드
  • 함수 범위: JavaScript에서 변수를 정의하는 위치는 변수에 액세스할 수 있는 위치에 영향을 미칩니다.

  • //In the example below, totalEggs is only accessible within the function
    function collectEggs(){
        let totalEggs = 6;
        console.log(totalEggs);
    }
    
    //An example showing that console.log is referencing the bird 
    //variable that's inside the function because they are more 
    //closely connected due to both being inside the same function. 
    //This is overriding the global variable bird.
    let bird = "Scarlet Macaw";
    function birdWatch(){
        let bird = "Great Blue Heron";
        console.log(bird);
    }
    
    birdWatch();
    //Would print: Great Blue Heron
    


  • 블록 범위: 함수가 아닌 {}가 있는 콘텐츠를 참조합니다(예: 조건문 또는 루프).

  • //An example of scope within a conditional.
    let radius = 8;
    if (radius > 0){
        const PI = 3.14159;
        let message = "Hello!";
    }
    
    //This will print the radius variable
    console.log(radius);
    
    //This will print undefined because the PI variable is 
    //inside the radius conditional statement, called a Block
    console.log(PI);
    


  • 어휘 범위: 상위(또는 외부) 함수 내에 중첩된 하위(또는 내부) 함수는 상위 함수에 액세스할 수 있습니다. 이것은 다른 중첩 함수 내부의 모든 중첩 함수에 대해 계속됩니다. 그들은 모두 "부모"의 기능에 액세스할 수 있습니다.

  • //An example of nesting functions, where the inner function has 
    //access to the hero variable in the outer function.
    function outer(){
        let hero = "Black Panther";
    
        function inner(){
            let cryForHelp = `${hero}, please save me!`;
            console.log(cryForHelp);
        }
        inner();
    }
    


  • 함수 표현식: 함수를 변수에 저장하는 방법입니다. JavaScript는 기능을 다른 것과 같은 또 다른 값으로 간주합니다.

  • //Function Expression
    const square = function(num){
        return num * num;
    };
    


  • 고차 함수: 다른 함수에서 작동하거나 다른 함수와 함께 작동하는 함수입니다. 다른 함수를 인수로 받거나 함수를 "반환"할 수 있습니다.

  • //An example where ine function calls other functions by passing a function as an argument
    function callTwice(func){
        func();
        func();
    }
    
    //Example using for loop with higher order function
    function callTenTimes(f){
        for(let i = 0; i < 10; i++){
            f();
        }
    }
    
    function rollDie(){
        const roll = Math.floor(Math.random() * 6) + 1;
        console.log(`Your dice roll is: ${roll}`);
    }
    
    callTwice(rollDie)
    


  • 방법: 단순히 객체의 속성으로 배치된 함수입니다. 모든 메서드는 함수이지만 모든 함수가 메서드는 아닙니다. (예: .indexOf() 및 .toUppercase)

  • //An example of creating our own methods on an object, in this
    //case the object is myMath and the methods are multiple,
    //divide, square, and PI
    const myMath = {
        multiply: function(x, y){
            return x * y;
        },
        divide: function (x, y){
            return x / y;
        },
        square: function(x){
            return X * x;
        },
        PI: 3.14159
    };
    


  • 키워드 "This ": 키워드를 사용하여 동일한 개체의 다른 속성에 액세스할 수 있습니다. "This"는 객체 내부에서 함수를 호출하는 방법에 따라 변경될 수 있습니다. 개체 내부에서 사용되는 "this"를 참조하는 함수를 호출하면 실제로는 해당 개체가 존재하는 개체 대신 창 개체를 참조하게 됩니다. 이상한 점이지만 알아두어야 할 사항이 있습니다.

  • //The default reference of "this" is the window object. But in
    //the example below we are overriding it by using it inside
    //the person object
    const person = {
        first: "Ethan",
        last: "Goddard",
        fullName(){
            return `${this.first} ${this.last}`
        }
    }
    
    //person.fullName() would return "Ethan Goddard"
    



  • Try and Catch: 오류와 관련이 있는 JavaScript의 두 문입니다. 오류를 "잡아"코드 실행이 중지되는 것을 방지합니다.

  • //An example of code we know will have an error
    try {
        hello.toUpperCase()
    } catch {
        console.log("Opps! Looks like I ran into an error.");
    }
    
    console.log("If you see this message, the code still ran after an error was encountered!");
    
    //Another example, using it in a function
    function yell(message){
        try {
            console.log(message.toUpperCase().repeat(3));
        } catch (e) {
            //We'll print out the error message by "catch"ing it 
            //with e and using console.log(e)
            console.log(e);
            console.log("Please enter a string next time!");
        }
    }
    


    주간 검토




    이번 주에는 흡수해야 할 것이 많았습니다. 함수는 JavaScript의 핵심 구성 요소이며 주제를 이해하는 것이 중요합니다. 내 노트와 예제가 도움이 되었기를 바랍니다. 설명할 수 있을 만큼 잘 이해하고 있다는 책임을 스스로에게 부여합니다. 이번 주 새로운 주제를 기대해주세요!

    Bootcamp 수업 완료: 219/579


    즐겁게 읽으셨기를 바랍니다!

    GitHub에서 저를 팔로우하고 더 많은 정보를 얻으십시오!

    좋은 웹페이지 즐겨찾기