선언은 한번만
let myname;
할당
myname = 'Steve';
표현식(expression)에서는 변수들을 사용할 수 있음
변수를 이용해 값을 나타내기
let radius = 5;
pi * radius * radius;
let areaOfCircle = pi * radius * radius;
문자열, 숫자, Boolean, 배열과 객체, undefined, 함수
1) 함수 선언식
function myFunction(input) {
}
2) 함수 표현식
let timeToGoHome = function(speed, distance) { // 전달인자(arguments)와 함께 함수에 전달
return distance / speed;
}
timeToGoHome(10, 200); // 20
비교연산자
< > === !== <= >=
비교의 결과는 늘 Boolean // 즉, true or false으로 반환
논리연산자
&&(AND연산자), ||(OR연산자), !(NOT연산자)
isStudent && isFemale
true || false // true
!undefined // true
!'Hello' // false
// 다음은 if문에서 false로 변환되므로, if 구문이 실행되지 않습니다.
if(false)
if(null)
if(undefined)
if(0)
if(NaN) //참고로 NaN은 자신과도 비교를 불허 ➡️ NaN === NaN // false
if('')
✅ 주소값이 다르다고 생각하기
문자열 length라는 속성 활용하기
str.length
문자열 글자 하나하나에 접근하기
str[1]
문자열 합치기
word1 + " " + word2
문자열 원하는 만큼만 추출하기
str.substring(0, 3)
str.slice(0, 3)
영문을 모두 대문자 또는 소문자로 바꾸기
str.toUpperCase(), str.toLowerCase()
⚠️ 해당 메서드 뒤 괄호가 붙지 않으면 제대로 작동되지 않음
✅ str.toLowerCase(), str.toUpperCase() 는 IMMUTABLE 하다.
문자열 중 원하는 글자 index 찾기 (+ lastIndexOf 메서드)
str.indexOf('a');
str.indexOf()
‘Blue Whale Whale’.indexOf(‘Whale’); // 5
—> 첫번째 Whale 기준
‘canal’.lastIndexOf(‘a’); // 3
—> 뒤에서부터 찾아서 index를 나타냄
str.includes('a');
str.substring(start, end);
arguments: 시작 인덱스, 마지막 인덱스
return value: 시작과 마지막 인덱스 사이의 문자열
let str = ‘abcdefghij’;
str.substring(0, 3); // ‘abc’
str.substring(3, 0); // ‘abc’
str.substring(1, 4); // ‘bcd’
str.substring(-1, 4); // ‘abcd’ 음수는 0으로 취급
str.substring(0, 20); // ‘abcdefghij’
띄어쓰기 " "로 문자열을 구분하여, 배열로 바꾸기
str.split(" ").join("");
모든 string 메서드는 IMMUTABLE 하다.