본문 바로가기

웹개발/javascript

자바스크립트 함수 & 프로퍼티 Function & Property

 

 

  자바스크립트의 ES5기반으로 한 기본 개념들입니다.  

공부했던 내용을 정리하는 용도로 오류가 있을 수 있습니다.

재배포 수정하지 마세요. 

 

 

 

 


함수 Fuction

 

특정 기능을 을 처리하는 코드 모음 

 

function getNumber(a, b) {
   var result = a + b * 10; 
  };

getNumber(5, 7); 

 

fuction 함수이름( 파라미터 ) { 함수 코드 };

  • 파라미터 : 매개변수, 아규먼트, 인자 라고도 불린다. 작성은 선택이므로 ( )로 없이 작성할 수 있다. 
  • 함수 코드 : 소스 텍스트라고도 하고 작성은 선택이다. 

 

 

함수 이름 규칙 

  • 첫문자 : 영문자, $, 언더바( _ ) 사용 가능하고 숫자, &, *, @, + 는 사용할 수 없다. 
  • 함수 코드를 읽지 않아도 의미를 알수있게 의미(sementic)를 부여해서 작성해야 한다.
  • 보통 동적인 의미를 가지도록 동사로 시작하며 두 개 이상 단어를 사용할 때는 두 번째 단어부터 명사를 사용한다. 명사의 첫 글자는 대문자로 쓴다.(Camel Case 형태)

 

 

함수 호출 

  • setValue(); 형태로 호출한다. 소괄호를 꼭 작성해줘야 호출이 된다.
  • 파라미터 : 호출된 함수에 넘겨줄 값을 작성해준다. 소괄호 안에 작성해주고 콤마로 구분해서 여러 개를 넘겨줄 수 있지만 보통 다섯 개까지만 쓴다. 
  •  

return

function addNumber(a , b) {
    return a + b;
};
var result = addNumber(2 , 3); 
console.log(result);                            //5


function addNumber(a , b) {
    return 
    a + b;
};
var result = addNumber(2 , 3); 
console.log(result);                            //undefined


function addNumber(a , b) {
    
};
var result = addNumber(2 , 3); 
console.log(result);                            //undefined

 

  • return 식 ;
  • 식을 평가해서 결과를 반환한다. 식이나 return을 작성하지 않으면 undefined를 반환한다. 반드시 return과 식은 한 줄에 작성해주어야 한다. 

 

 

 

프로퍼티 property

 

object1 = {title : "learn js"};
object2 = {
    title : "Let's learn",
    number : 23,
    information : {
        TorF : true,
        subjcet : function sub() {}
    }
};

 

  • {name: value}의 형태로 name에 프로퍼티 이름이나 키를 작성한다.
  • name에 따옴표 작성은 생략한다.
  • value에는 문자열, 숫자열, boolean, 빈 프로퍼티 ( { } ), 함수가 올 수 있다. 
  • 객체라고 부르기도 한다. 

 

 

 

프로퍼티 추가, 변경, 열거

 

var object3 = {};
object3.title = "Let's learn";
console.log(object3);                               //{title: "Let's learn"}

object3["title"] = "javascript";
console.log(object3);                               //{title: "javascript"}

var value1 = object3.title; 
console.log (value1);                               //javascript
var value2 = object3.number;
console.log (value2);                               //undefined

 

위와 같은 방법으로 프로퍼티를 추가하거나 변경한다. object3에 title이 없으면 값과 함께 추가가 되고 있으면 값이 변경된다. 

점(.)과 프로퍼티 이름을 사용하거나 대괄호( [ ] ) 안에 따옴표와 함께 프로퍼티 이름을 넣어 사용하기도 한다. 

 

오브젝트에서 프로퍼티를 추출해서 열거할 수 있다. 오브젝트에 선택한 프로퍼티 네임이 있으면 해당 프로퍼티 값을 반환해주고 없다면 undefined를 반환해준다. 

 

 

for ~ in

 

var object4 = {
    apple : "red",
    grapes : "purple",
};

for(var item in object4) {
    console.log(item);
    console.log(object4[item]);
}                                                   //apple //red //grapes //purple 

 

  • for (변수 in 오브젝트) { 문장 };
  • for ( 식 in 오브젝트) { 문장 };
  • 프로퍼티 이름이 변수에 설정되고  오브젝트[프로퍼티 이름]으로 프로퍼티 값을 구한다.
  • 원래는 프로퍼티를 작성한 순서대로 읽힌다는 것을 보장하지 못했지만 ES6에서는 작성한 순서대로 읽힌다.