> 콘솔창 초기화 방법
-분명한()
-cmd+k
1. 원시 유형
►번호
- 숫자 유형만 있음
- 정수, 양수, 음수, 십진수, 십진수
- 제곱(**), 곱셈
- 나누기(/), 더하기(+), 빼기(-) (PEMDAS)
- 나머지(%), 몫(//)
typeof 4
>> "number"
typeof NaN
>> "number"
0 / 0
>> NaN
1 + NaN
>> NaN
200 + 0 / 0
>> NaN
NaN(숫자가 아님):
- ► 변수
- 값을 저장하고 사용할 수 있습니다.
- 다양한 종류와 숫자
- 변수 이름을 지정할 때 “의미” 측면에 주의하십시오.
- 변수 이름은 숫자로 시작할 수 없습니다.
- Snakefall: 밑줄(_) 사용 가능(흔하지 않음) 낙타 케이스
// BASIC SYNTAX
// let : 값 변경 가능 변수
let someName = value;
// RECALL VARIABLES
let numHens = 5;
let numRoosters = 1;
numHens + numRoosters
>> 6
// 아래 두 코드는 같은 코드
let score = 5;
score = score + 5
>> 10
score += 5
>> 10
// ++ -- 와 같이 축약해서 사용가능하고 1씩 증가/감소
score++
>> 11
// const : 값 변경 불가 변수
// 값을 바꾸지 않을 경우에 사용 ; 데이터 구조를 공부하면 이해 가능
const boilingPointC = 100;
const boilingPointF = 212;
// VAR
// let과 비슷함 (let이 등장하기 전에 유일하게 사용됨)
: 변수의 첫 글자를 제외한 단어는 대문자로 표시(소문자로 시작)(공통)
- ► 부울
true
>> true
false
>> false
let isActiveGame = true;
isActiveGame
>> true
옳고 그름
- ►문자열
// 큰따옴표 또는 작은따옴표로 문자열을 감쌀 것
let username = "danny";
// strings are indexed
let animal = "chicken";
0123456
// 문자열은 0부터 카운트
// 문자 사이의 공백도 카운트
// 인덱스 범위를 벗어난 경우 : undefined
animal.length
>> 7
"apple".length
>> 5
"apple"(0)
>> a
"hello" + "js"
>> "hellojs"
// 문자와 숫자 결합시 숫자를 문자열로 바꿔서 합쳐버림
// 타입은 문자열
let result = 1 + "hi"
result
>> "1hi"
typeof result
>> "string"
typeof 1
>> "number"
문자열은 변경할 수 없습니다.
◆
- 문자열 메서드
thing.method()
// 대문자로 바꾸는 메소드
let msg = 'hellojs";
msg.toUpperCase()
>> "HELLOJS"
let helloMsg = msg.toUpperCase()
helloMsg
>> "HELLO"
// 소문자로 바꾸는 메소드
thing.toLowerCase()
// 문자열의 좌우 공백 삭제
let userInput = " hello my name is tim"
userInput.trim()
>> "hello my name is tim"
// 메소드를 연속해서 사용할 때
let greeting = " hello again!!! "
greeting.trim().toUpperCase()
>> "HELLO AGAIN!!!"
특정 문자열에 대해 수행할 수 있는 작업을 메서드라고 합니다.
◆
- 인수
thing.method(arg)
메서드의 동작을 변경하기 위해 메서드에 전달되는 입력 값입니다.
○
let tvShow = 'catdog';
tvShow.indexOf('cat');
>> 0
tvShow.indexOf('dog');
>> 3
tvShow.indexOf('z');
>> -1 (not found)
indexOf: 검색된 인수의 첫 번째 인덱스 값을 반환합니다.
String.prototype.indexOf() – 자바스크립트 | MDN
indexOf() 메서드는 지정된 값과 일치하는 String 개체의 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.
developer.mozilla.org
○
let str = "abcdefghijk";
// (시작하는 지점, 끝나는 지점)
str.slice(0,5);
>> "abcde"
// (지정한 인덱스부터 끝까지)
str.slice(5);
>> "fghijk"
// 음수로 접근해서 마지막 문자부터 추출
str.slice(-1);
>> "k"
String.prototype.slice() – 자바스크립트 | MDN
Slice() 메서드는 문자열의 일부를 추출하고 새 문자열을 반환합니다.
developer.mozilla.org
○
let annoyingLaugh="teehee so funny! teehee!";
annoyingLaugh.replace('teehee', 'haha');
>> 'haha so funny! teehee!'
replace : (바꿀 문자, 바꿀 문자) / 문자열의 첫 번째 인수가 중복되면 첫 번째 문자만 교체
String.prototype.replace() – 자바스크립트 | MDN
replace() 메서드는 패턴의 일치하는 일부 또는 전체가 교체된 새 문자열을 반환합니다. 패턴은 문자열 또는 정규식(RegExp)일 수 있으며 대체 문자열은 문자열 또는 모든 일치 항목일 수 있습니다.
developer.mozilla.org
○
let greeting = 'hi';
greeting.repeat(3);
>> 'hihihi'
반복: 반복 횟수를 입력합니다.
String.prototype.repeat() – 자바스크립트 | MDN
repeat() 메서드는 지정된 횟수만큼 문자열을 연결하여 새 문자열을 반환합니다.
developer.mozilla.org
◆
- 템플릿 리터럴
`I counted ${3 + 4} sheep`;
>> "I counted 7 sheep"
템플릿 리터럴을 사용할 때는 백틱(`)을 사용해야 합니다.
템플릿 리터럴(템플릿 문자열) – JavaScript | MDN
템플릿 리터럴은 백틱(`)으로 구분된 리터럴로 여러 줄 문자열, 포함된 표현식이 있는 문자열 보간 및 태그가 지정된 템플릿이라는 특수 구문을 허용합니다.
developer.mozilla.org
- ►제로
// 말 그대로 값이 없는 것
let loggedInUser = null;
loggedInUser="Alan Rickman";
의도적으로 무기한 값 설정
- ► 정의되지 않음
let n;
>> undefined
아무것도 정의되지 않았습니다
Math.PI
>> 3.141592653589793
// 반올림
Math.round(4.9)
>> 5
// 절대값
Math.abs(-456)
>> 456
// 제곱
Math.pow(2,5)
>> 32
// 버림
Math.floor(3.9999)
>> 3
// 올림
Math.ceil(34.1)
>> 35
►수학적 객체
const step1 = Math.random();
>> 0.6107943208569846
const step2 = step1 + 10;
>> 10.610794320856984
const step3 = Math.floor(step2);
>> 10
const step4 = step3 + 1
>> 11
Math.floor(Math.random() * 10) + 1;
>> 6
◆ 임의의 정수
수학 – 자바스크립트 | MDN
Math는 수학 상수 및 함수에 대한 속성과 메서드가 있는 내장 개체입니다. 함수 개체가 아닙니다.
developer.mozilla.org
