๐Ÿ“ŒLanguage/JavaScript

TIL) JS ์กฐ๊ฑด๋ฌธ, ๋ฌธ์ž์—ด, ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž not, falsy ๊ฐ’, concat(), indexOf(), slice(), substring(),property & method ์ฐจ์ด

hellohailie 2022. 4. 27. 23:57

 

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž NOT


๋…ผ๋ฆฌ ๋ถ€์ •(!) ์—ฐ์‚ฐ์ž๋Š” ์–ธ์ œ๋‚˜ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋‹จ, ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์ผ ํ•„์š”๋Š” ์—†๋‹ค. 

๋งŒ์•ฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์ด ์•„๋‹ˆ๋ฉด ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž…์œผ๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜๋œ๋‹ค. 

!false // true

!(3>2) // false

!undefined // true (undefined๋ฅผ false๋กœ ์ทจ๊ธ‰-falsy)

!"hello" // false ("hello"๋ฅผ true๋กœ ์ทจ๊ธ‰-truthy)

!0; // true

 

 


๊ธฐ์–ตํ•ด์•ผ ํ•  9๊ฐ€์ง€ falsy ๊ฐ’

if ๋ฌธ์—์„œ false๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์—, if ๊ตฌ๋ฌธ์ด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 

if (false)
if (null)
if (undefinded)
if (0)
if (-0)
if (NaN)
if ('')
if ("")
if (``)

 

 


์„ ์–ธ๊ณผ ํ˜ธ์ถœ

์„ ์–ธ // num1, num2 => ๋งค๊ฐœ๋ณ€์ˆ˜ = parameter = ์ธ์ž

function handleplus (num1, num2) {
	num1 + num2;
}

 

ํ˜ธ์ถœ // 40,70 => argument = ๊ฐ’ (value)= ์ธ์ˆ˜=์ „๋‹ฌ์ธ์ž  

handlePlus(40,70);

 

 


๋ฌธ์ž์—ด ํ•ฉ์น˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•

1. "+" ์—ฐ์‚ฐ์ž

const str1 = "Javascript";
const str2 = "Developer";

console.log(str1 + str2); // "Javascript Developer"

2. concat() ํ•จ์ˆ˜

const str1 = "Javascript";
const str2 = "Developer";

console.log(str1.concat(str2)); // "Javascript Developer"

 

 


์•ž์—์„œ ํŠน์ • ๋ฌธ์ž ์œ„์น˜ ์ฐพ๊ธฐ (indexOf ํ•จ์ˆ˜)

str.indexOf(๊ฒ€์ƒ‰ํ•  ๊ฐ’, ์‹œ์ž‘์œ„์น˜) - ์•ž์—์„œ ๊ฒ€์ƒ‰ํ•  ๊ฐ’์„ ์ฐพ๊ธฐ ์‹œ์ž‘

 

const str = "Happy Day";

console.log(str.indexOf('Happy')); // 0
console.log(str.indexOf('happy')); // -1 (์ผ์น˜ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ์—๋Š” -1๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ด)
console.log(str.indexOf('Day')); // 6
console.log("Happy Day Day".indexOf('Day')); // 6

console.log(str.indexOf('a')); // 1
console.log(str.indexOf('a',5)); // 7 ๋œป:"a"์ด๋ผ๋Š” ๋ฌธ์ž๋ฅผ ์ฐพ๋Š”๋ฐ 5 ์ดํ›„๋ถ€ํ„ฐ ๊ทธ ๊ฐ’์„ ์ฐพ์•„๋ผ.

 

 

 

๋’ค์—์„œ ํŠน์ • ๋ฌธ์ž ์œ„์น˜ ์ฐพ๊ธฐ (lastIndexOf)

lastIndexOf(๊ฒ€์ƒ‰ํ•  ๊ฐ’ , ์‹œ์ž‘์œ„์น˜) - ๋์—์„œ๋ถ€ํ„ฐ ๊ฒ€์ƒ‰ํ•  ๊ฐ’์„ ์ฐพ๊ธฐ ์‹œ์ž‘
const str = "Happy Day";

console.log(str.lastIndexOf('a')); // 7
//๋œป:๊ฒฐ๊ณผ๊ฐ’์€ ๋’ค์—์„œ๋ถ€ํ„ฐ ๋ช‡๋ฒˆ์งธ ์œ„์น˜๋ผ๋Š” ๊ฒƒ์„ ๋งํ•ด์ฃผ๋Š” ๊ฒƒ์ด 
์•„๋‹ˆ๋ผ ๋งจ ์•ž์—์„œ๋ถ€ํ„ฐ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— 7์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ฆ‰, ๊ฐ’์€ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฐพ๊ธฐ ์‹œ์ž‘ํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ๊ฐ’์€ ๋™์ผํ•˜๊ฒŒ ๋งจ ์•ž์—์„œ๋ถ€ํ„ฐ ์œ„์น˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

console.log(str.lastIndexOf('a',5)); // 2
//๋œป:"lastIndexOf๋ผ๊ณ  ํ•ด์„œ ์ฐพ์„ ๊ฐ’์„ 'a'์„ ์ฐพ๋Š”๋ฐ ๋’ค์—์„œ๋ถ€ํ„ฐ 5๋ฒˆ์งธ ์œ„์น˜์—์„œ๋ถ€ํ„ฐ 
์•ž์œผ๋กœ ์ฐพ๊ธฐ ์‹œ์ž‘ํ•˜๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 


string.substring(start, end) // end ์•ž๊นŒ์ง€๋งŒ ์ถœ๋ ฅ
const str = '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธJS';

const result1 = str.substring(0, 2); // ๊ฒฐ๊ณผ : "์ž๋ฐ”"
const result2 = str.substring(2, 5); // ๊ฒฐ๊ณผ : "์Šคํฌ๋ฆฝ"
const result3 = str.substring(2, 6); // ๊ฒฐ๊ณผ : "์Šคํฌ๋ฆฝํŠธ"
const result4 = str.substring(2); // ๊ฒฐ๊ณผ : "์Šคํฌ๋ฆฝํŠธJS"


///์Œ์ˆ˜ ์ผ๋•Œ///

const str = '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธJS';

const result1 = str.substring(-4, 5); // str.substring(0, 5) // ๊ฒฐ๊ณผ : "์ž๋ฐ”์Šคํฌ๋ฆฝ"
const result2 = str.substring(2, -1); // str.substring(0, 2) // ๊ฒฐ๊ณผ : "์ž๋ฐ”"

 

 

string.slice(start, end) // substring(start, end) ๊ฐ’๊ณผ ๊ฐ™๋‹ค. 

๋‹จ, ์Œ์ˆ˜๋กœ ๋‚˜์˜ฌ์‹œ,

slice(start, end)๋Š” string์˜ ๊ฐ€์žฅ ๋’ค์—์„œ ์Œ์ˆ˜๋งŒํผ ๋‚ด๋ ค์˜จ index๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.

const str ='abcde';

console.log(str.slice(-3); // 'cde'

 

 

 


.spilt()

 

CSV(์˜์–ด: comma-separated values)

์—”ํ„ฐํ‚ค๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ  ์‹ถ์œผ๋ฉด csv.split("\n");

 

 

 


immutable ์ด๋ž€?


์›๋ณธ์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. 
๋ชจ๋“  string method๋Š” immuatble์ด๋‹ค!! 
array method๋Š” immutable์ธ์ง€ mutable์ธ์ง€ ์ž˜ ํ™•์ธํ•ด์•ผํ•œ๋‹ค. 

 

 

 


property & method ์ฐจ์ด

 

Object in JavaScript is just key-value pairs stored in a Hash. The difference between property and method is that -- property is a value stored in the hash key, whereas method is a function stored in hash key.

var person = {
  name: "John Doe",
  sayHello: function() {
        console.log("hello");
  }
}

In this code sample.

  • name is the property of object person, it stored String "John Doe", you can access it via dot notation person.name.
  • sayHello is the method of object, and it is a function. You can also access it using dot notation person.sayHello(). Notice that sayHello is just a function, and function invocation requires you to use () here.

 

object.something; - it is object with propery;
object.something(); is object method;

 

์ถœ์ฒ˜: https://teamtreehouse.com/community/difference-between-object-methods-and-object-properies