티스토리 뷰
+ 전 강의 내용 추가
primitive 타입의 경우는 value 값 자체가 메모리에 저장됨
object는 너무 커서 오브젝트를 가리키는 레퍼런스가 메모리에 저장됨
이렇게 되고 엘리가 가리키는 포인터만 잠기고 이름과 나이는 계속 변경 가능함
1. string concatenation
console.log(`my`+`cat`);
console.log(`1`+2);
console.log(`string literals: 1 + 2 = ${1+2}`);
1번 줄은 문자열과 문자열이 합쳐지고
2번 줄은 2는 숫자지만 문자열로 인식하여 "12"라는 결과를 출력한다.
3번 줄은 변수 값을 계산해서 문자열로 출력함
(``는 중간에 공백이나 줄 내림도 인식함)
''를 쓸 거면 /n 줄 내림 /t 탭 등 특수 문자열 검색해서 알아봐야 됨
2. numeric operators
console.log(1 + 1); //더하기
console.log(1 - 1); //빼기
console.log(1 / 1); //나누기
console.log(1 * 1); //곱하기
console.log(5 % 2); //나머지
console.log(2 ** 3); //제곱
3. increment and decrement operators
let counter = 2;
const preIncrement =++counter;
// counter = count + 1;
// preIncrement = counter
let counter = 2;
const preIncrement =counter++;
// preIncrement = counter
// counter = count + 1;
4. = operators
let x = 3;
let y = 6;
x += y; // x = x + y;
5. <= operators
console.log(10 < 6); //작다
console.log(10 <= 6); //작거나 같다
console.log(10 > 6); //크다
console.log(10 >= 6); //크거나 같다
6. logical operators
|| (or), && (and),! (not)등이 있는데
||는 조건 중 하나라도 같은 true를 출력하고
&&는 모든 조건이 true여야 true를 출력하고
! 는 true이면 false, false이면 true를 출력함
console.log(`or: ${value1 || value2 || check()}`);
앞에서부터 확인하는데 앞이 이미 false이면 얘는 false이기 때문에
예를 들어 이렇게 되어있을 때 heavy 한 operators일수록 젤 뒤에서 체크하는 것이 좋다
7. equality
== // 똑같으면 true 반환, 내용만 신경쓰고 타입은 신경안씀(타입을 변경해서 검사함)
!= // 같지않으면 true 반환
=== // 똑같으면 true 반환, 내용을 신경쓰고 타입도 신경씀
!== // 같지않으면 true 반환
이 파트 공부시 object를 신경 써야 되는데
comst ellie1 = { name: 'ellie'};
comst ellie2 = { name: 'ellie'};
comst ellie3 = ellie1;
엘리 1==엘리 2는 false를 출력한다 (이는 각각 다른 레퍼런스를 가지고 있기 때문)
엘리 1===엘리 2는 false를 출력한다 (레퍼런스 값이 다르기 때문에)
엘리 1===엘리 3은 true를 출력한다(엘리 1이 가지고 있는 레퍼런스를 엘리 3가 할당했기 때문)
8. comditional operators : if
if , else if , else 사용
const name = 'ellie';
if (name==='ellie'){
console.log('welcome, ellie');
}
else if (name==='coder'){
console.log('ooh');
}
else{
console.log('lol');
}
9. ternary operators :?
console.log(name === 'ellie' ? 'yes':'no');
엘리가 맞으면 yes를 출력하고 아니면 no를 출력하는 방식을?를 이용해 쉽게 쓸 수 있음
간혹 이걸 묶어서 사용하는 것은 가동성이 떨어짐
10. switch operators
switch (browser) {
case 'IE':
console.log('go away!');
break;
case 'CHROME':
console.log('far away!');
break;
default:
console.log('good!');
break;
}
11. while
let i = 3;
while (i>0) {
console.log(`while: ${i}`);
i--;
}
i=3인데 while이 시작되면 확인을 함 ()에 내용을 보고 그리고 후에 i를 1씩 감소시켜 계속 순환하다가
조건에 부합하지 않으면 실행되지 않음
12. do while
이는 반대임
do{
console.log(`do while: ${i}`);
i--;
} while (i>0);
먼저 실행되고 후에 () 내용을 비교하고 계속 돌지 결정됨(즉 i가 0 이어도 일단 출력하고 멈추게 됨)
13. for loop
for (시작, 조건, 단계)로 구성된다
let i;
for (i=3; i>0; i--){
console.log(`for: ${i}`);
}
for (let i=3; i>0; i--){
console.log(`for: ${i}`);
}
이처럼 let을 내부에 선언할 수 있는데 이렇게 되면 i는 지역변수가 된다
14. nexted loop
for (let i=3; i>0; i--){
for (let j=3; i>0; i--){
console.log(`${i},${j}`);
}
}
이런 식으로 for문안에 for문을 사용할 수 있는데 이는 O(n^2)이 되어버려서 cpu에 안 좋음 피하는 게 좋다!~~
'웹프로그래밍 > js' 카테고리의 다른 글
배열 제대로 알고 쓰자, 자바스크립트 배열 개념과 APIs 총정리(드림코딩 by 엘리님 유튜브 강의) (0) | 2022.03.10 |
---|---|
오브젝트 넌 뭐니?(드림코딩 by 엘리님 유튜브 강의) (0) | 2022.03.09 |
arrow function 은 무엇인가? 함수의 선언과 표현(드림코딩 by 엘리님 유튜브 강의) (0) | 2022.03.09 |
데이터타입 let vs var, hoisting(드림코딩 by 엘리님 유튜브 강의) (0) | 2022.03.08 |
콘솔에 출력,script async와 defer의 차이점 및 앞으로 자바스크립트의 공부 방향(드림코딩 by 엘리님 유튜브 강의) (0) | 2022.03.08 |
- Total
- Today
- Yesterday
- 이해강
- 메뉴만들기
- 1단 메뉴 제작
- float효과삭제
- CSS
- 프론트공부
- 부동산스터디
- 2단레이아웃
- 1단레이아웃제작
- 고정 레이아웃
- 1단 메뉴만들기
- 부동산
- 고정 레이아웃 제작
- 다단레이아웃
- 부동산경매
- 네이버 부스트코스
- HTML
- 고정레이아웃
- 경매공부
- 레이아웃작성
- 레이아웃제작
- 웹프로그래밍
- 웹 코딩
- 홈페이지 메뉴 만들기
- 프로모션 페이지 제작
- 경매
- 고정레이아웃제작
- float효과제거하기
- htmlcss 매뉴만들기
- 부스트보스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |