내가 볼려고 쓰는 Js 이론 part.2

SONG NAE KYU·2022년 7월 7일
0
post-thumbnail

함수

작성식 예시: function sayHello(name) {

console.log('Hello, ${name}');

}

return = 값 반환, 반환 된 값은 변수에 저장

tip:

  • 함수는 한번에 한 작업만 가능
  • 읽기 쉽고 어떤 동작인지 알수 있게 네이밍 하자
  • 어디서나 접근 가능한 변수 = 전역변수
  • 함수 내부에서만 접근 가능한 변수 = 지역변수
  • 함수 선언문(어디서든 호출 가능)

    예시:
    function sayHello() {

    console.log('Hello');
    }

    함수표현식(코드에 도달하면 생성):

    let sayHello = function() {

    console.log('Hello');

    }

    화살표 함수

    let add = function(num1, num2) {
    return num1 + num2}

    위의 식을 화살표 함수로 바꾸면?
    function을 작성 하지 않고 괄호 뒤에 '=>' 을 작성
    중괄호 또한 일반괄호로 바꿀수 있다. 이때 return은 사용 할 필요 없다.
    만약 return문이 한 줄이면 괄호도 생략이 가능하다.

    즉, let add = (num1, num2) => (
    num1 + num2; (이 부분이 한 줄일시 화살표 뒤의 괄호를 생략 할 수 있다.)
    )

    인수 또한 하나면 괄호를 생략 할 수 있다. but 인수가 없으면 괄호를 생략 할 수 없다.
    Return문 전에 코드가 있다면 {}을 일반괄호 ()로 사용불가능하다.

    객체

    예시:
    const superman = {
    name:'clark',
    age: 33,
    }

    key와 velue 로 구성 되어져 있다.
    각 프로퍼티는 , 로 구분한다.

    object - 접근, 추가, 삭제

    접근: '.' '[]' 를 이용한다.
    ex) superman.name / superman['age']
    추가:
    ex) superman.gender = 'male' / superman['hairColor'] = 'black'
    삭제: 삭제하고 싶은 프로퍼티 앞에 delete를 붙인다.
    ex)delete superman.hairColor;

    단축프로퍼티:
    ex) const name = 'lala' /const age = 33
    => name:name => name / age : age => age

    object -Method,this

    method - 객체 프로퍼티에 할당 된 함수!!
    ex) const superman = {
    name:'boram',
    age: 24,
    fly(method):function(){
    console.log("날아갑니다")
    }
    }
    superman.fly(); => 날아갑니다
    단축구문작성시 function 생략 가능하다.

    this:
    ex) const user = {
    name:'boram',
    age: 24,
    sayHello : function() {
    console.log(Hello,i'm ???');
    }
    }
    ??? => ${this.name} 으로 바꿀수 있다.
    여기서 this는 user 즉, 객체명과 같다.

    주의사항
    화살표 함수식을 사용하면 일반함수와 달리 자신만의 this를 가지지 않는다.
    화살표 함수 내부에서 this(전역객체를 가르킴)를 사용하면, 그 this는 외부에서 값을 가져온다.

    결론:method에서는 객체명을 직접 써주는 것 보다는 this를 활용하는 것이 좋다.
    method작성시 this를 사용하여 객체에 접근해야 한다면 화살표 함수 사용을 자제, 이용하지 말자.

    0개의 댓글