📚 프론트엔드 공부 일지/JAVASCRIPT

JavaScript 함수 개념 정리

wei3on 2024. 6. 3. 18:52
// Object(객체 데이터)
// 여러 데이터를 Key:Value 형태로 저장합니다.
let user = {
  name:'wonji',
  age:27,
  isValid:true
};
// 호출
console.log(user.name); // wonji
console.log(user.age); // 27
console.log(user.isValid); // true

 

// let: 값(데이터)의 재할당
let a = 12;
console.log(a); //12
a = 999;
console.log(a); //TypeError: Assignment to constant variable.

// const: 값(데이터)의 재할당 불가!
const b = 12;
console.log(b); //12
b = 999;
console.log(b); //TypeError: Assignment to constant variable.
// 예약어는 변수 이름으로 설정 불가
// let this = 'Hello!';
// let if = 123;
// let break = true;
// ------------------------------------------------------------
// 함수 선언
function HelloFunc() {
  // 실행 코드
  console.log(1234);
}

// 함수 호출
HelloFunc(); //1234
// 123을 함수 밖으로 return(반환)해줌
function returnFunc() {
  return 123; 
}

let c = returnFunc();
console.log(c); //123
// 함수 선언!
function sum(a,b) { // a와 b는 매개변수 (Parameters)
  return a + b;
}

// 재사용!
let d = sum(1,2); // 1과 2는 인수(Arguments)
let e = sum(7,12); 
let f = sum(2,4);

console.log(d,e,f); //3,19,6
// 기면(이름이 있는) 함수
// 함수 선언!
function hello() {
  console.log('Hello~');
}
// 익명(이름이 없는) 함수
// 함수 표현!
let world = function () {
  console.log('World~');
}

// 함수 호출!
hello(); //Hello~
world(); //World~
const heropy = {
  // 객체 데이터
  name:'HEROPY',
  age: 85,
  //속성 부분에 함수가 할당되어 있으면 
  //메소드(Method)
  getName : function () {
    //this가 소속되어있는 객체 데이터안의 name이라는 속성을 반환함
    return this.name;
  }
};

const hisName = heropy.getName();
console.log(hisName); //HEROPY
//혹은
console.log(heropy.getName()); //HEROPY