JS기본개념.

Kyle_Kim·2023년 2월 4일

let과 var

var는 중복으로 변수를 선언 할 수 있고 개발자에게 혼동을 줄 수 있다. 그러므로 우리는 js로 개발시 주로 let을 사용하기로 하였다.

상수 Const

선언시 값을 반드시 메겨줘야 하고 read-only여서 같은 상수 이름으로 변수 재정의가 불가능하다.

Truthy & Falsy

// Truth
let a = "string";
a = Infinity;
a = "FALSE"
a = 1

if(a){
  console.log("TRUE")
}
// print True

// False
a = undefined
a= null
a= ""
a= NaN
a = 0

if(a){
  console.log("TRUE")
}else{
  console.log("FALSE")
}
// print False
let person;
const name = getName(person);
console.log(name);


cont getName = (person) => {
	if(!person){  
    // person === undefined || person === null 값을 동시에 처리해 주는것과 같다.
    	return "객체가 아닙니다"
    }
    return person.name;
};

단락회로

let person;
const name = getName(person);
console.log(name);


cont getName = (person) => {
	const name = person && person.name; 
    //person이 정의되어 있다면 사람 이름이 name변수에 메겨지고 아닌경우는 null
    return person.name || "객체가 아닙니다"; 
    // person.name이 true값이면 바로 이름을 반환한다.
};

함수 선언


console.log(functionA()); // 호이스팅 
console.log(hello); // 호이스팅 


function functionA(){ // 함수 선언식 (호이스팅이 안된다.)
  return '안녕하세요 여러분';
};

let hello = function(){ // 함수 표현식
  return '안녕하세요 여러분';
};

console.log(hello());

//화살표 함수
let helloA = () =>  "안녕하세요 여러분";

console.log(helloA());

Callback 함수

function checkMood (mood, goodCallback , cryCallback){
  if(mood === "good"){
    goodCallback()
  }else{
    cryCallback()
  }
}

function sing(){
  console.log("ACTION :: SING")
}

function cry(){
  console.log("ACTION :: CRY")
}

checkMood("sad", sing, cry)

스프레드

자바의 상속과 같은개념

const cookie = {
  base : "cookie"
  ,madeIn: "Korea"
}

const chocochipCookie = {
  ...cookie
  ,toping : "chocochip"
};

const blueberryCookie = {
  ...cookie
  ,toping : "blueberry"
};

const caramelCookie = {
  ...cookie
  ,toping : "caramel"
};

console.log(chocochipCookie);
console.log(blueberryCookie);
console.log(caramelCookie);

배열 합치기

const fruitsCookies = ["바나나" , "블루베리"]
const bakery = ["휘낭시에" , "마들랜"]

const allDesert = [...fruitsCookies , ...bakery];
console.log(allDesert)
profile
꾸준함.

0개의 댓글