\(@^0^@)/

[TDL] 05/02 Today's-Done-List 본문

TDL

[TDL] 05/02 Today's-Done-List

minjuuu 2022. 5. 2. 23:11
728x90

- JS 기본 문법

  • 즉시 실행 함수 표현 (IIFE, Immediately Invoked Function Expression)
    • var는 전역, 함수 스코프여서 코딩할 때 문제가 많았음.
    • ES6 및 블록 스코프 let, const가 도입되기 전, 자주 사용했던 표현식.
    • 쉽게 말하자면, 블록 스코프를 흉내 내는 새로운 스코프를 만들어내는 표현식.
    • IIFE 표현식을 활용할 때는 맨 앞 또는 맨 끝에 무조건 세미콜론을 붙여줘야 한다.
// IIFE
(function () {
  /* ... */
})();

// 화살표 함수 IIFE
(() => {
  /* ... */
})();

// 비동기 IIFE
(async () => {
  /* ... */
})();

// 매개변수 받는 법
(function (nums) {
   console.log(nums);
})(2);

 

  • JSON Parse() :  JSON을 해석을 해서 일반적인 JS 객체로 변환, 서버에서 데이터를 가져올 때 사용.
    JSON -> "JS Object"
  • JSON stringify : JS 객체를 JSON으로 변환, 서버로 데이터를 보낼 때 사용.
    "JS Object" -> JSON


- API fetch 함수 구현 복습



17:50 오후 회고 스터디 (만족도 : 7)

요새 소화가 잘 안 돼서 두 시간 정도 산책 갔다가 씻고 조금 쉬었더니 3시간이 훌쩍 지나가네..^^
그래도 건강이 우선이니까!



- 자료구조 / 알고리즘 (Js ver.) 강의

이번 부캠 공부 플랜을 정말 수정해야 한다!
내가 지금 제일 자신 없는 부분이 알고리즘이고 이제 매주 코테를 볼 건데, 알고리즘 학습을 너무 등한시했다.
분명 중요하다는 것을 알았고, html, css, js는 그래도 어느 정도 해왔던 거라서 조금씩만 공부하고 알고리즘에 비중을 뒀어야 됐는데.... 그냥 하루에 한 두 문제 풀어서는 절대 못 따라갈 것 같은 기분이다.
내일부터는 알고리즘 위주로 공부해야겠음.
알고리즘이 익숙해질 때까지 오전, 오후에 아예 알고리즘만 파고 저녁에 살짝 js 공부하는 것으로 해보자.


  • 프로토타입 (prototype)
    • 어떠한 객체가 만들어지기 위해 객체의 모태가 되는 원형
    • 자바스크립트는 일반적인 객체지향 언어와는 다르게, 프로토타입을 이용한 복사(Cloning)를 통해 새로운 객체 생성.
    • 일반적인 객체 생성 방식 : 속성은 생성자, 메서드는 프로토타입에서 정의

  • 프로토타입 예제 
    • prototype을 이용하여 Person객체에 메서드추가
// 생성자 속성 정의
function Person(name, age) {
   this.name = name;
   this.age = age;
}

// prototype을 이용한 Person 메서드 정의
Person.prototype.isAdult = function () {
   return this.age > 18;
};

// 객체 생성
const p1 = new Person("bob", 26);
const p2 = new Person("alice", 16);

// 객체 메서드 호출
console.log(p1.isAdult()); // output: true
console.log(p2.isAdult()); // output: false

 

  • 연결 리스트 (Linked List)
    • 각 노드가 데이터와 포인터를 가지며, 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조
    • 구현 메서드(method)
      • 노드 개수/ 비어 있는지 확인/ 노드 출력 : LinkedList.size(), LinkedList.isEmpty(), LinkedList,printNode()
      • 노드 추가 : LinkedList.append(), LinkedList.insert()
      • 노드 삭제 : LinkedList.remove(), LinkedList.removeAt()
      • 데이터 위치 확인 : LinkedList.indexOf()


[ 출처, 참고 : 제로베이스 프런트엔드 스쿨 ]

728x90

'TDL' 카테고리의 다른 글

[TDL] 05/04 Today's-Done-List  (0) 2022.05.04
[TDL] 05/03 Today's-Done-List  (0) 2022.05.03
[TDL] 05/01 Today's-Done-List  (0) 2022.05.02
[TDL] 04/29 Today's-Done-List  (0) 2022.04.29
[TDL] 04/28 Today's-Done-List  (0) 2022.04.29