-
JS (ES6 & above) - Operators자바스크립트 Study/자바스크립트 2021. 4. 13. 10:42
// 11. loops let i = 3; while(i > 0){ console.log(`while: ${i}`); i--; } >>> while: 3 while: 2 while: 1
참조 :
www.youtube.com/watch?v=YBjufjBaxHo&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=4&t=5s
■ String
// 1.String concatenation console.log("my" + "cat"); console.log("1" + 2); // dynamic type console.log(`string literals: 1+ 2 = ${1 + 2}`)
1) + 기호 사용 가능
2) dynamic 하게 string으로 출력 될 수 있음
3) backtick 사용하여 console log를 편리하게 사용,
> backtick 다른 장점
(a) 특수문자, string 개행하는 ', "(single quote) , enter 등을 모두 문자로 인식
(b) backtick으로 감싸서 시작, dollar-sign 안을 계산해서 string으로 가져옴www.youtube.com/watch?v=YBjufjBaxHo&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=4&t=5s
■ String

// 1.String concatenation
console.log("my" + "cat");
console.log("1" + 2); // dynamic type
console.log(`string literals: 1+ 2 = ${1 + 2}`)
1) + 기호 사용 가능
2) dynamic 하게 string으로 출력 될 수 있음
3) backtick 사용하여 console log를 편리하게 사용,
> backtick 다른 장점
(a) 특수문자, string 개행하는 ', "(single quote) , enter 등을 모두 문자로 인식
(b) backtick으로 감싸서 시작, dollar-sign 안을 계산해서 string으로 가져옴
4) \n, \t 등은 다른 언어와 동일하게 breakling, tab
5) 특수문자 escape은 \붙이면 문자로 인식
6) 추가참조
> String 객체, primitive string, primitive string & "string literal"
■ Number
1) Simple Operators
console.log(1+1); console.log(1-1); console.log(1/1); // divide console.log(parseInt(5/2)); // quotient console.log(1*1); console.log(5%2); // remainder console.log(2**3); // python % : 나머지, // : 몫
2) post / pre Increments, decrements
> -- 감산은 ++와 동일 방식
//3. Increment and decrement operators let counter = 2; const preIncrement = ++counter; // counter = counter + 1; // preIncrement = counter; console.log(`preIncrement : ${preIncrement}, counter : ${counter}`); // 3, 3 counter = 2; const postIncrement = counter++; // preIncrement = counter; // counter = counter + 1; console.log(`postIncrement : ${postIncrement}, counter : ${counter}`);// 2, 3
■ Assignment operators
let x = 3; let y = 6; x= 3; y=6; x += y; // x = x + y console.log(`[x += y] x : ${x}, y : ${y}`); x= 3; y=6; // assign first x =+ y; console.log(`[x =+ y] x : ${x}, y : ${y}`); x= 3; y=6; x -= y; console.log(`x : ${x}, y : ${y}`); x= 3; y=6; x *= y; console.log(`x : ${x}, y : ${y}`); x= 3; y=6; x /= y; console.log(`x : ${x}, y : ${y}`); // after assigned
■ Comparision operators
//5. Comparison operators console.log(10 < 6); console.log(10 <= 6); // such....
■ Equality Check
==와 ===의 방식
> === 는 type까지 check
1) variable
// 7. Equality const stringFive = '5'; const new_stringFive = '5'; const numberFive = 5; //== lose equality, with type conversion console.log(stringFive == numberFive); // true console.log(stringFive != numberFive); // false console.log(stringFive === numberFive); // false console.log(stringFive !== numberFive); // true console.log(stringFive === new_stringFive); // true console.log(stringFive == new_stringFive); // true
> 메모리 까지 비교, new_stringFive와 stringFive의 메모리는 같은 string을 가르키는 듯
2) object
// object const hj1 = {name: 'hj'}; const hj2 = {name: 'hj'}; const hj3 = hj1; console.log(hj1 == hj2); // false console.log(hj1 === hj2); // fasle console.log(hj1 === hj3); // true -> same reference pointers
3) quiz
// equality quiz console.log(0 == false); // true console.log(0 === false); // false console.log('' == false); // true console.log('' === false); // false console.log(null == undefined); // true console.log(null === undefined); // false
■ Conditional operator
//8. conditional operators : if // if, else if, else const name = 'coder'; if(name === 'HoJun'){ console.log('Welcome, HoJun'); }else if(name === 'coder'){ console.log('You are an amazing coder!'); }else{ console.log('unknown!') } >>> You are an amazing coder!
■ Ternary operator: ?
if else 문을 1줄로, nesting 비권장 → switch 등을 쓰는 것을 추천
// 9. Ternary operator let name_ = 'HoJun' console.log(name_ === 'HoJun' ? 'yes' : 'no'); >>> 'yes'
■ Switch Satatement
/* 10. Switch Statement used for multiple if checks use for enum-like value check use for multiple type checks in TS */ const browser = 'IE'; switch(browser){ case 'IE': console.log('go away!'); break; case 'Chrome': case 'FireFox': console.log('love you!'); break; default: console.log('same all!'); break; } >>> go away!
■ Loops
1) while loop : 조건이 true일 때 까지 run
// 11. loops let i = 3; while(i > 0){ console.log(`while: ${i}`); i--; } >>> while: 3 while: 2 while: 1
2) do - while loop : do 안의 code를 수행 후 condition check
> 적어도 code가 한번 이상 수행되는 것을 보장
// do while loop, body code is executed first, // then check the condition i = 3; do{ console.log(`do while: ${i}`); i--; } while(i>0); >>> do while: 3 do while: 2 do while: 1
3) for loop : 조건이 true일 때 까지 run
> condition 먼저 check
> for(begin; condition; step){ .... }
// for loop, for(begin; condition; step) // i declared somewhere else for(i =3; i >0; i--){ console.log(`for: ${i}`); } >>> for: 3 for: 2 for: 1
4) inline variable for loop
> i 가 block 안에 선언, local variable로 선언
for(var i=3; i > 0; i = i - 2){ // inline variable declaration console.log(`inline variable for: ${i}`); } >>> inline variable for: 3 inline variable for: 1
5) nested for loop / while loop
O(n^2) 등으로 Big O 가 높아져서 주의해야 함
6) break, continue
break : while / for 를 멈춤
contiue : 다음 iteration으로 넘어감
반응형'자바스크립트 Study > 자바스크립트' 카테고리의 다른 글
Javscript Coding convention, guides (0) 2021.04.13 JS (ES6 & above) - Functions (0) 2021.04.13 JS (ES6 & above) - Variable type, Scope, Hoisting (0) 2021.03.28 Html에 JS의 위치 / JS 파일 선언의 기본 (0) 2021.03.27 자바스크립트 공식 사이트(html, css포함) (0) 2021.03.27