티스토리 뷰
변수
: 상황에 따라 변할 수 있는 값
- 변수이름에 공백을 사용할 수 없어서 단어의 첫글자를 대문자로 사용(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 |