선언과 할당 (let 으로 선언하고 = 으로 할당한다.)
ex) let myname = 'Steve';
한줄에 여러번 선언할 수 있다
ex) let myname, weight, height;
한줄에 여러번 할당할 수 있다
ex) let myname = 'park', weight = 68, height = 173;
코드의 각 한줄한줄을 표현식(Expression) 이라고 한다.
할당되지 않은 변수는 undefined 라고 나온다.
ex) let myName
myName; // undefined;
typeof 메소드를 활용해서 특정값의 타입을 확인할 수 있다.
ex) console.log(typeof 42);
// expe cted output: "number"
console.log(typeof 'blubber');
// expected output: "string"
console.log(typeof true);
// expected output: "boolean"
console.log(typeof undeclaredVariable);
// expected output: "undefined"
변수의 타입까지 고려하여 비교함
변수의 타입까지는 고려하지 않는다
ex) 1 == "1" /// true
숫자 1과 문자열 1은 값이 같다.
function getTryangleArae(base, height) {
let triangleArea = (base * height) / 2;
return triangleArea;
}
const getTriangheArea = function (base, height) {
let triangleArea = (base * height) / 2;
return triangheArea
}
const getTriangleArea = (base, height) => {
let triangheArea = (base * height) / 2;
return triangleArea;
}
const getTriangleArea = (base, height) => base * height / 2; // 정상작동
const getTriangleArea = (base, height) => { base * height / 2 }; // undefined 리턴
✯ 함수 내의 표현식이 2줄 이상인 경우에는 return 과 {} 중괄호를 명시적으로 쓰는 것이 좋다.
매개변수 (parameter) : 함수를 선언할 때 소괄호 안에 변수로 넣어주는 값을 말한다.
전달인자 (argument) : 함수를 호출할 때 전달해주는 값을 말한다.
if (조건1) { // 조건1이 통과할 경우
} else if (조건2) { // 조건 1이 통과하지 않고, 조건 2가 통과한 경우
} else { // 모든 조건이 통과하지 않은 경우
}
<, > : 초과, 미만
<=, >= : 이상, 이하
===, !== : 같다, 다르다 (엄격한 비교, 타입까지 비교)
==, != : 같다, 다르다 (타입까지 비교하지 않음)
ex ) 1 == '1' // true; (숫자 1과 문자열 1이 같다고 출력됨)
&& : and 연산자
|| : or 연산자
! : not 연산자, truthy, falsy 여부를 반전시킴
ex) !undefined // true; (undefined는 falsy 값이다 그러므로 ! 로 반전시키면 true가 된다)
!'Hello' // false; (모든 문자열은 기본적으로 true 값을 갖는다 그러므로 ! 로 반전시키면 false가 된다)
기억해야 할 7가지 falsy 값 : false, null, undefined, 0, NaN, ' '(빈문자열), document.all
Number(string) : 문자열을 숫자로 바꿔주는 함수 (입렵값을 숫자로 변환할 수 없는 경우 NaN을 리턴)
ex) Number('100'); // 100
Number('안녕'); // NaN
String(number) : 숫자를 문자열로 바꿔주는 함수
ES6부터 새로 도입된 문자열 표기법
문자열 생성시 따옴표 대신, 백틱을 사용한다
${ } 사이에 변수나 연산 등을 삽입 할 수 있다
기존의 따옴표 방식에서는, + 연산자로 문자열을 여러번 이어 붙여야 했지만 백틱을 사용하면 아래처럼 가능
ex) let name = 'John';
console.log('나는' + ' ' + name + ' ' + '입니다') // '나는 John 입니다'
console.log(`나는 ${name} 입니다`) // '나는 John 입니다'