[TIL] 220427(์ˆ˜)

Beanxxยท2022๋…„ 4์›” 27์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
2/120
post-thumbnail

โ˜‘๏ธย ์กฐ๊ฑด๋ฌธ

: ์–ด๋– ํ•œ ์กฐ๊ฑด์„ ํŒ๋ณ„ํ•˜๋Š” ๊ธฐ์ค€์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์œผ๋กœ ๋น„๊ต์—ฐ์‚ฐ์ž๊ฐ€ ํ•„์š”!

if (์กฐ๊ฑดA) {
	return ~
} else if (์กฐ๊ฑดB) {
	return ~
} else {
	return ~
}

๐Ÿ’ก ๋น„๊ต์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž์˜๋ฏธ
>์ดˆ๊ณผ
<๋ฏธ๋งŒ
>=์ด์ƒ
<=์ดํ•˜
===๊ฐ™๋‹ค
!==๋‹ค๋ฅด๋‹ค

โœ‹ย ==, != ์‚ฌ์šฉ ์ง€์–‘ (๐Ÿคทโ€โ™€๏ธ why? ์—„๊ฒฉํžˆ ํƒ€์ž… ๋น„๊ต X)

๐Ÿ’กย ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

: ๋‘๊ฐ€์ง€ ์กฐ๊ฑด์„ ํ•œ๋ฒˆ์— ์ ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ

  1. AND

    ์—ฐ์‚ฐ๊ฒฐ๊ณผ
    true && truetrue
    true && falsefalse
    false && falsefalse

    โœ‹ย AND ์—ฐ์‚ฐ์ž๋Š” falsyํ•œ ๊ฐ’์„ ๋งŒ๋‚˜๋ฉด, ๊ทธ ๊ฐ’ ์ถœ๋ ฅ

    ์—ฐ์‚ฐ๊ฒฐ๊ณผ
    undefined && 10undefined
    5 && falsefalse

    โœ‹ ๋‘˜๋‹ค truthyํ•  ๊ฒฝ์šฐ, ๋’ค์— ์žˆ๋Š” ๊ฐ’ ์ถœ๋ ฅ

    ์—ฐ์‚ฐ๊ฒฐ๊ณผ
    5 && 1010

  1. OR

    ์—ฐ์‚ฐ๊ฒฐ๊ณผ
    true || truetrue
    true || falsetrue
    false || falsefalse

    โœ‹ย OR ์—ฐ์‚ฐ์ž๋Š” truthyํ•œ ๊ฐ’์„ ๋งŒ๋‚˜๋ฉด, ๊ทธ ๊ฐ’ ์ถœ๋ ฅ (๊ทธ ์ดํ›„๋Š” ํ‰๊ฐ€ x)

    ์—ฐ์‚ฐ๊ฒฐ๊ณผ์ด์œ 
    undefined || 1010undefined์ด false ์ทจ๊ธ‰์ด๋ฏ€๋กœ 10 ์ถœ๋ ฅ
    5 || 105์•ž์—์„œ ๋ถ€ํ„ฐ ํ‰๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 5 ์ถœ๋ ฅ

    โœ‹ย ๋‘˜ ๋‹ค falsyํ•  ๊ฒฝ์šฐ, ๋’ค์— ์žˆ๋Š” ๊ฐ’ ์ถœ๋ ฅ

    ์—ฐ์‚ฐ๊ฒฐ๊ณผ
    undefined || falsefalse

  2. NOT

    !falsetrue
    !(3>2)false
    !undefinedtrue
    !'Hello'false

โœ‹ย undefined: false ์ทจ๊ธ‰(falsy)

โœ‹ย 'abc' ๋น„์–ด ์žˆ์ง€ ์•Š์€ ๋ฌธ์ž์—ด: true ์ทจ๊ธ‰(truthy)

๐Ÿ’กย falsy ๊ฐ’

โœ‹ if๋ฌธ์—์„œ false๋กœ ๋ณ€ํ™˜๋˜๋ฏ€๋กœ, if ๊ตฌ๋ฌธ ์‹คํ–‰ X

  1. if(false)
  2. if(null)
  3. if(undefined)
  4. if(0)
  5. if(NaN)
  6. if(' ')

โ˜‘๏ธย ๋ฌธ์ž์—ด

  • str[index] : index์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž ์ถœ๋ ฅ (read-only)

    str1 = 'Code';
     str2 = 5;
     str3 = 'Happy';
      
     console.log(str1 + str2 + str3) // Code5Happy
     // = str1.concat(str2, str3 ...)

    ๐Ÿ‘‰๐Ÿป toString: string ํƒ€์ž…๊ณผ ๋‹ค๋ฅธ ํƒ€์ž… ์‚ฌ์ด์— + ์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ๋ฉด, string ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜

  • str.length: ๋ฌธ์ž์—ด str์˜ ์ „์ฒด ๊ธธ์ด return

  • str.indexOf(searchValue): ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์œ„์น˜ํ•˜๋Š” index return

    ```jsx
    // ์ฒ˜์Œ์œผ๋กœ ์ผ์น˜ํ•˜๋Š” index return
    // ๊ณต๋ฐฑ๋„ ํ•˜๋‚˜์˜ index๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ!
    'Hard Coding Coding'.indexOf('Hard'); // 0
    
    // ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์—†์œผ๋ฉด -1 return
    'Hard Coding'.indexOf('hard'); // -1
    
    // lastIndexOf: ๋ฌธ์ž์—ด ๋’ค๋ถ€ํ„ฐ ์ฐพ๊ธฐ
    'apple'.lastIndexOf('p'); // 2
    
    ```

  • str.includes(searchValue): ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํŒ๋ณ„ (true / false)

  • str.split(seperator): seperator ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐฌ (csv ํ˜•์‹ ์ฒ˜๋ฆฌ์‹œ ์œ ์šฉ)

    A.
    var str = 'Nice to meet you';
    str.split(' ');
    // str.split('\n') => ์ค„๋‹จ์œ„๋กœ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐฌ
    
    // ['Nice', 'to', 'meet', 'you']
    
    B.
    let alphabet = 'abcedf';
    alphabet.split('');
    
    // ['a', 'b', 'c', 'e', 'd', 'f']
    

  • str.substring(start index, end index): ์‹œ์ž‘๊ณผ ๋ index ์‚ฌ์ด์˜ ๋ฌธ์ž์—ด retrun

    cf. = str.slice(start, end)

    var str = 'abcdefg';
    str.substring(0,3); // 'abc'
    // index๊ฐ€ 0~3์ด ์•„๋‹ˆ๋ผ 0~2์ธ ๋ฌธ์ž๋ฅผ returnํ•จ์„ ์ฃผ์˜!
    // parameter๊ฐ€ (end index, start index)์ฒ˜๋Ÿผ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ OK
    // parameter๊ฐ€ ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ 0์œผ๋กœ ์ทจ๊ธ‰
    

  • str.toLowerCase(): ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜

  • str.toUpperCase(): ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜

    ๐Ÿ‘‰๐Ÿป str ๋ฌธ์ž์—ด ์ž์ฒด๊ฐ€ ๋ณ€ํ™˜๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜ (Immutable)


๐Ÿ’กย ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด(Template literals)

๋ฌธ์ž์—ด์„ + ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๋ฌธ์ž์—ด ํ˜ผํ•ฉ ๊ฐ€๋Šฅ

`์ง€๊ธˆ์€ ${hour}์‹œ ${minute}๋ถ„ ${second}์ดˆ ์ž…๋‹ˆ๋‹ค.`

โž•ย etc

๐Ÿ’ซ ์—ฐ์Šต ๋ฌธ์ œ ํ’€๋‹ค๊ฐ€ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๊ธฐํƒ€ ๊ฐœ๋…๋“ค

  • ์ง์ˆ˜ ๊ตฌํ•˜๋Š” ์กฐ๊ฑด: num % 2 === 0 (%: ๋‚˜๋จธ์ง€ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ์ž)
  • ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    1. a * a
    2. a ** 2
    3. Math.pow(a, 2)
  • ๋‚ด๋ฆผ ์—ฐ์‚ฐ: Math.floor()
  • ์ตœ์†Œ๊ฐ’: Math.min(num1, num2 ...)
  • ์ตœ๋Œ€๊ฐ’: Math.max(num1, num2 ...)
  • ์ ˆ๋Œ€๊ฐ’ ์—ฐ์‚ฐ: Math.abs(num1 - num2)

โž• Advanced

๐Ÿ’กย substr() & substring() & slice() ์ฐจ์ด

  • str.substr(start index, length): start index๋ถ€ํ„ฐ length ๊ธธ์ด๋งŒํผ ์ž˜๋ผ๋‚ด์–ด return
    substring(start, end)slice(start, end)
    start>end์ผ ๊ฒฝ์šฐstart, end ์„œ๋กœ ๋ฐ”๊ฟ”์„œ ์ฒ˜๋ฆฌ๋นˆ ๋ฌธ์ž์—ด return
    index๊ฐ€ ์Œ์ˆ˜์ผ ๊ฒฝ์šฐindex๋ฅผ 0์œผ๋กœ ์ทจ๊ธ‰๋ฌธ์ž์—ด ๋งจ ๋์—์„œ ์Œ์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’๋งŒํผ ๋‚ด๋ ค์˜จ index๋กœ ์ทจ๊ธ‰
    let str = 'carpediem';
    str.slice(-3, 9);
    // ๋งจ๋’ค์˜ 'm'์„ -1 ๊ธฐ์ค€์œผ๋กœ, index -3๋Š” 'i'
    // ์ฆ‰, str.slice(-3, 9) === str.splice(6, 9)
    
    // 'iem'
profile
FE developer

0๊ฐœ์˜ ๋Œ“๊ธ€