티스토리 뷰

변수

: 상황에 따라 변할 수 있는 값

- 변수이름에 공백을 사용할 수 없어서 단어의 첫글자를 대문자로 사용(camelCase라고 한다) 다른 이름 방식도 존재함.

// 변수 선언
// JS에서는 C, C++, Jave와 달리 변수 선언 시 메모리 용량을 할당해주지 않아도 됨
// 초기화 undefined 상태
let num;
// 변수 할당
num = 12;

// 변수 선언과 할당을 동시에
let num = 12;

// let으로 선언된 변수는 한번 선언 후 계속해서 바꿀 수 있음
num = 'hi'

 

표현식

: 변수와 특정값을 이용하여 계산하는 연산식

 

 

=

: 할당 연산자(우변을 좌변에 할당)

==

: 같은지 비교( -> 잘 사용하지 않음/ 0 == "0", 0 == "" 모두 true 때문)

===

: 엄격하게 같은지 비교

 

 

키워드(일종의 명령어)

var

: ES6 이후에 var의 단점을 보완하여 나온 것이 let이기 때문에 잘 사용하지 않는다

- 변수 중복 선언, 호이스팅, 블록 레벨 스코프 문제

let

: 재할당 가능 = 메모리 주소(reference) 변경 가능

const

: 한번 선언하면 재할당 불가 = 메모리 주소(reference) 변경 불가

 

 

 

타입

typeof 값
: 값의 타입을 알려줌


number(넘버)

: 정수, 실수


string(문자열)

: '' "" ``로 만들 수 있음
- ' ' 안에 " "를 넣는 경우 ('자두가 "집에 가자"고 했다.')

- " "안에 ' ' 넣는 경우 ("'고양이가 귀엽다'고 생각했다.")

- 템플릿 리터럴Template Literal 사용 시 ``(백틱) 사용

${변수} 형식으로 문자열 내부에서 변수를 사용할 수 있음

boolean(불리언)

: 참/거짓으로 값이 반환됨

1!=='1' // true
!0 === true // true

false == '' // true
false == 0 // true
// ==를 사용하는 경우 0과 ''(빈문자열)은 falsy하기 때문에 false로 취급


undefined(언디파인드)
: 값이 할당되지 않은 경우. 초기화 상태라고도 함.

undefined 타입인 값은 undefined가 유일

null(널)

: 비어있다는 것을 뜻함
null 타입인 값은 null이 유일
비어있다는 것을 의도적으로 명시

let unul; // undefined
unul = 20;
console.log(unul) // 20

unul = null; // unul 값을 지움
console.log(unul) // null
typeof unul // 'object'


- 심볼
- 오브젝트

 

 

 

함수

: 코드의 묶음, 작은 기능의 단위, 입력과 출력간의 매핑(mapping), return값

: 일급 객체

- 변수 할당 가능

- 리턴 가능(클로저함수)

- 매개변수로 사용

 

keyword(명령어): fuction

name: 함수 이름

parameter(매개변수): 입력 받을 값

body: 함수 내용/ 코드

 

함수 선언: 제작

함수 호출: 사용

 

함수는 함수선언식, 함수표현식, 화살표함수의 방법으로 만들 수 있는데

함수선언식은 함수 선언 전에 사용할 수 있지만(호이스팅hoisting)

함수표현식, 화살표함수는 항상 함수를 먼저 선언한 후 호출해야함.

 

* 호이스팅 때문에 함수선언식보다 함수표현식 사용이 권장되기도 함

코드가 위에서 아래로 진행하는 게 가독성이 좋은데,

함수선언식을 사용하는 경우 호이스팅으로 인해 선언 위치, 사용 위치를 파악하는게 어려움

// 두 숫자를 받아서 곱한 값을 반환하는 함수를 만드는 경우

// 함수선언식
function multiply1(num1, num2) {
  return num1*num2
}
      
// 함수표현식
// 변수 선언 후 익명 함수 할당
let multiply2 = function(num1, num2) {
  return num1*num2
}

// 화살표함수
let multiply3 = (num1, num2) => {
  return num1*num2
}
// 본문에 return문만 있을 경우 return + {} 생략 가능
// 코드가 1줄인 경우에 사용하는 게 가독성이 좋음
let multiply3 = (num1, num2) => num1*num2

 

 

parameter(매개변수)

: 함수에서 입력 받을 값

위 함수에서는 num1, num2가 매개변수

argument(전달인자)

: 함수에 입력 받은 값

위 함수를 사용할 때 5와 3을 넣어 값을 구한 다면 5, 3이 전달인자

multiply3(5, 3)

 

매개변수보다 전달인자가 많은 경우 // multiply3(5, 3, 7)

처음 요청한 개수만 받고 나머지는 무시 // 리턴값은 15

 

매개변수보다 전달인자가 적은경우 // multiply3(5)

못받은 전달인자는 undefined // 리턴값은 NaN(not a number)

 

 

매개변수 = 1

: 매개변수에 값이 안들어오거나 undefined가 들어올 경우 부여할 기본값

매개변수: string

: type hint. 매개변수에 무슨 타입이 들어올지 지정

 

 

 

 

22.10.21

코스 S1U2

'코드스테이츠(SEB_FE_42)' 카테고리의 다른 글

[CSS] 문법, Selector  (0) 2022.10.27
[HTML] 태그  (0) 2022.10.27
[JS] 제곱, 제곱근, 소수 구하기  (0) 2022.10.25
[JS] 조건문, 문자열  (0) 2022.10.24
[JS] typeof 연산자 사용  (0) 2022.10.21
댓글
공지사항