All'alba vincerò

At dawn, I will win!

Javascript

자바스크립트 정리 - 기초

나디아 Nadia 2024. 3. 15. 22:41

 

자바스크립트 정리 - 기초

 

 

 

명시적 형변환

  • 내장함수를 이용하여 직접 형 변환

문자열 👉 숫자

Number(값)

let str1 = "10";

let strToNum1 = Number(str1);

 


(숫자가 아닌 문자열을 포함한) 문자열 👉 숫자

parseInt(값)

let str2 = "10개";

let strToNum2 = parseInt(str2);

 



숫자 👉 문자열

String(값)

let num1 = 20;

let numToStr1 = String(num1);

 

 

 


 

 

nullish 병합 연산자

  • 존재하는 값을 추려내는 기능
  • null, undefined가 아닌 값을 찾아내는 연산자
let var1; // undefined
let var2 = 10;

let varr = var1 ?? var2;
// varr = 10
// undefined가 아닌 값(var2)을 varr에 저장함

 

 

  • 둘 다 null or undefined가 아니면 처음에 적힌 값 반환
let var2 = 10;
let var3 = 20;

let varr = var2 ?? var3;
// varr = 10

 

 

 

  • 회원가입 시스템에 자주 사용
let userName = "홍길동";
let nickName = "hihihi";

let displayName = userName ?? userNickName;
// 유저 네임이 있으면 유저 네임 저장
// 유저 네임이 없다면(undefined) 닉네임으로 저장

 

 

 


 

typeof 연산자

: 값의 타입을 문자열로 반환하는 연산자

let word = 1;
let a = typeof word;
// a = number

word = "hello";
a = typeof word;
// a = String

word = true;
a = typeof word;
// a = boolean

 

 

 


 

 

함수

⭐ Javascript는 함수를 변수에 담을 수 있다.

 

 

함수 선언문

  • 보통의 함수
  • 호이스팅 O
function funcA() {
   console.log("funcA");
}

let varA = funcA;
varA();




함수 표현식

  • 함수를 선언과 동시에 변수에 저장
  • 익명 함수
  • 호이스팅 XXX
    (함수를 함수 선언문 위에서 호출할 수 없음)
let varB = function () {
  //   console.log("funcB");
};

varB();

 




콜백 함수

: 다른 함수에 인수로 전달된 함수

function main(value) {
  value();
}

main(() => {
  console.log("i am sub");
});
// main() 함수의 인자로 화살표 함수("i am sub")가 전달됨

 

 

 

  • 구조가 비슷한 함수를 축약할 수 있음
function repeat(count) {
   for (let idx =1; idx <= count; idx++) {
console.log(idx);
   }
}

function repeatDouble(count) {
   for (let idx =1; idx <= count; idx++) {
console.log(idx * 2);
   }
}

repeat(5); // 1 2 3 4 5
repeatDouble(5); // 2 4 6 8 10


// 콜백함수의 활용
function repeat(count, callback) {
  for (let idx = 1; idx <= count; idx++) {
    callback(idx);
  }
}

repeat(5, (idx) => {
  console.log(idx);
});

repeat(5, (idx) => {
  console.log(idx * 2);
});

repeat(5, (idx) => {
  console.log(idx * 3);
});

 

 

 


 

 

객체(object)

 

객체 생성하기

 

1. 객체 생성자

let obj1 = new Object();

 

 

2. 객체 리터럴

let obj2 = {};

 

 

 


객체 프로퍼티

{ key: value }

let person = {
  name: "이정환",
  age: 27,
  hobby: "테니스",
  job: "FE Developer",
  extra: {},
  10: 20,
  "like cat": true,
};

 

 



객체 프로퍼티 다루기

 

1. 특정 프로퍼티에 접근하기

(1) 점 표기법

객체명.key명

let n = person.name;

 


(2) 괄호 표기법

객체명["key명"]

let n = person["name"];

 



2. 새로운 프로퍼티 추가하기

객체명.key명 = 새로운 값;

객체명["key명"] = 새로운 값;

person.job = "fe developer";
person["favoriteFood"] = "떡볶이";

 



3. 프로퍼티 수정하기

객체명.key명 = 수정할 값;

객체명["key명"] = 수정할 값;

person.job = "educator";
person["favoriteFood"] = "초콜릿";

 

 

 

 

4. 프로퍼티 삭제하기

delete 객체명.key명

delete 객체명["key명"]

delete person.job;
delete person["favoriteFood"];




5. 프로퍼티의 존재 유무 확인하기 (in 연산자)

"key명" in 객체

  • boolean형
let result1 = "name" in person;
let result2 = "cat" in person;

console.log(result1); // true
console.log(result2); // false

 

 

 

 


 


상수 객체

: 상수에 저장된 객체

  • 프로퍼티 추가, 수정, 삭제는 가능 ⭕
const animal = {
  type: "고양이",
  name: "나비",
  color: "black",
};

animal.age = 2; // 추가
animal.name = "까망이"; // 수정
delete animal.color; // 삭제

 

 

 




메서드

: 값이 함수인 프로퍼티를 말함

const person = {
  name: "이정환",

  sayHi() { // 메서드 선언
    console.log("안녕!");
  }
};

 

 

메서드 호출

person.sayHi();
person["sayHi"]();



 

 


 

 

출처

한입 크기로 잘라먹는 리액트