연두색연필
LimePencil's Log
연두색연필
전체 방문자
오늘
어제

About Me

  • GitHub
  • Instagram
  • Gmail

인기 글

  • 분류 전체보기 (70)
    • Machine Learning (3)
      • MNIST (2)
    • PS & Algorithm (9)
    • Web (4)
      • HTML (1)
      • JavaScript (3)
    • Rust (2)
      • The Rust Programming Langua.. (2)
    • 논문 리뷰 (12)
      • Reinforcement Learning (10)
      • Computer Vision (2)
    • DevOps (17)
      • Docker (9)
      • Kubernetes (8)
    • Development (6)
      • SQL (6)
    • 잡다한 것들 (15)
      • 부스트캠프 AI Tech 4기 (13)

최근 댓글

Tag

  • 파이썬
  • K8s
  • ML
  • Kubernetes
  • 백준
  • Python
  • 쿠버네티스
  • 부스트캠프
  • docker
  • 도커
01-25 13:07
hELLO · Designed By 정상우.
연두색연필

LimePencil's Log

Web/JavaScript

자바스크립트 기초 핵심 노트

2022. 9. 10. 15:17

사용한 기술 스택들:

FrontendMaster의 Getting Started with JavaScript, v2에서 배운 핵심만 정리

변수 타입:

  1. Primitive: numbers, strings, booleans, null, undefined
  2. Object: Array, Object, String, Date, Number, Boolean

연산:

  • +, -, ==, ||, <, >

변수:

  • 만들 때 var
  • initialization과 assignment는 따로 해도 됨

웬만한 스타일은 Java와 비슷하기 때문에 알고 있으면 굳이 공부할 필요 없음

let, const = block-scoped
var = function-scoped

두 개의 for-loop 스타일:

  • for (let i =0;i<a.length;i++)
  • for (let i of a) ← for each loop

파이썬 f-string처럼 ``을 사용하면 안에서도 계산을 하거나 변수를 넣을 수 있음

자바스크립트에서는 변수가 타입을 가지고 있는 게 아니라 값이 타입을 가지고 있다

NaN = invalid numerical operation

new= Java에서 처럼 새로운 Object를 만드는 데 사용하지만 String(), Number(), Booolean()에서는 사용하지 않음 (함수처럼 사용)

coercion = 타입을 바꿀 때 (implicit coercion으로 의도하지 않아도 가능)

True로 변환 = 밑에 있는 것 빼고 다

False로 변환 = "", 0, NaN, null, false, undefined

Boolean() = !!

==: coercion 허용
===: coercion 허용하지 않음

scope: where to look for things

  • 함수 안에서 initialization of variable을 해주지 않는다면 밖에서 global variable을 찾거나 global variable을 만듦

undefined: 변수는 있으나 값이 없음
undeclared: 변수가 없음

함수도 변수에 할당될 수 있다

named function expression: there is name to the funciton that has been assigned
anonymous function expression: there is no name to the function that has been assigned

  • named function이 이 함수가 무엇을 하는지 보여주기에 때문에 쓰는 걸 권장함

IIFE(Immediately Invoked Function Expressions): 함수를 만들자마자 바로 실행, 변수를 함수 안에서만 사용하고 싶을 때 사용

IIFE를 사용하기보다 let을 사용하면 block-scoped로 놔둘 수 있음

Closure: when a function "remembers" the varible outside of it, even if you pass that function elsewhere

  • 나중에 그 함수를 실행할 때 그 변수를 기억함으로써 그것을 실행할 수 있게 해 줌

this: 현재 함수를 실행하고 있는 객체를 참조함

prototypes: 생성된 객체는 prototype을 참조한다 (init() 함수 느낌인 듯)

class: prototype의 발전된 버전 읽기가 다른 언어랑 비슷해서 더 쉬운 듯

'Web > JavaScript' 카테고리의 다른 글

리액트 공부 정리  (1) 2023.01.25
자바스크립트 공부 정리  (0) 2023.01.22
    'Web/JavaScript' 카테고리의 다른 글
    • 리액트 공부 정리
    • 자바스크립트 공부 정리
    연두색연필
    연두색연필
    ML, Programming, PS, 삶의 순간을 기록

    티스토리툴바