본문 바로가기
ONLINE COURSES/JavaScript

FreeCodeCamp_JS_TIL_DAY2

by jono 2021. 6. 26.

1. operator

> does convert data types of values while comparing.


2. switch

if you have many options to choose from, use a swith statement. a switch statement tests a value and can have many case statements which define various possible values. statements are eeuted from the first matched case values until a break is encountered.

case - 한번에 여러개를 쓸 수 있음.

default - 해당하는 case 가 없는 경우 default에 저장된 내용이 출력된다.
          - switch의 맨 마지막에 위치해야한다

break - 생략된경우, 나올때까지 코드가 실행된다.

return - return에 해당하는 코드가 출력된 후에는 그 뒤에 다른 코드는 작동하지 않는다.


3. 
mutually exclusive : 상호배타적
parentheses : 삽입어구
type coersion : 문자형식 변환
counterpart : 대응관계에 있는
conversion : 개조, 전환
operand : 피연산자
omitted : 생략된
increment : 증가
decrement : 감소
arbitrary : 임의의
parse : 분석하다
consecutive : 연이은
counterintuitive : 반직관적인


4. Objects

"프로퍼티" : "오브젝트"

objects are similar to arrays.
array - use indexes to access and modify their data
objects - you access the data in objects through what are called properties
          - are useful for storing data in a structured way, and can represent real world objects.
          - if your objects has any non-string properties, JS will automatically typecast them as strings.

 

< how to access properties >


1. property의 이름을 알때 => 

 

2.  불러오고자 하는 property가 스페이스를 포함하고 있을 때 => [   ] 

*** [   ] 안에 있는 프로퍼티의 이름은 반드시 따옴표안에 써야한다.

- 변수의  value 를 이용해 property를 도출하는 코드를 짤수있다.

#1
var dogs = {
fido: "mutt", hunter: "doberman", snoopie: "beagle"
};

var mydog = "hunter";
var mybreed = dogs[mydog];
console.log(mybreed);         // doberman


#2
var object01 = {
propName: "Sam"
};

function propPrefix(str){
var s = "prop";
return s + str;
};
    
var someProp = propPrefix("Name");
console.log(object01[someProp]);    // Sam

 

- delete 
-  .hasOwnProperty("프로퍼티이름") => true / false  출력

function checkObj(obj, checkProp){

if(obj.hasOwnProperty(checkProp)){
return obj[checkProp];
} 
else{
  return "Not Found";}
}

 

예제연습

 

freeCodeCamp.org

Learn to Code — For Free

www.freecodecamp.org


5. while loop


6. for loop

세개의  expression에 따라 작동한다. 각각 세미콜론으로 구분함.

for( a  ;  b  ;  c ) 
a - initialization statement  : executed one time only before the loop starts.
   - typically used to define and setup loop variable.

b - condition statement : evaluated at the beginning of every loop iteration and will continues as long as it evaluates to true.  // if the condition starts as false, the loop will never execute.

c - final expression : executed at the end of each loop iteration.
  - usually used to increment/decrement the loop counter.

 

- nesting for loops

 

freeCodeCamp.org

Learn to Code — For Free

www.freecodecamp.org


7. do while loop

while 조건을 만나기 전에 do에 따른 코드를 먼저 실행하므로 무조건 한번은 코드가 실행된다.


8. Recursion

function processDoll(doll){
// 1) base case
if (found the piece of chocolate)
	return "yum yum";

	// 3) 초콜렛도 없도 더 작은 인형도 없는경우
	else if(there are no more dolls)
		return "no chocolate here :("
		
//2) if that base case fails => recursive call to itself by using the same function.
else
	processDoll(the smaller doll)
}


# example
function factorial(n){
	if( n == 1 ||  n ==0)
		return 1;
	else 
		return n * factorial(n-1)
}

console.log(factorial(4));

factorial(4)
= 4 * factorial(3)
	= 3 * factorial(2)
		= 2 * factorial(1)
			= 2 * 1

 

 

# profile lookup 예제

 

freeCodeCamp.org

Learn to Code — For Free

www.freecodecamp.org

// Setup
var contacts = [
    {
        "firstName": "Akira",
        "lastName": "Laine",
        "number": "0543236543",
        "likes": ["Pizza", "Coding", "Brownie Points"]
    },
    {
        "firstName": "Harry",
        "lastName": "Potter",
        "number": "0994372684",
        "likes": ["Hogwarts", "Magic", "Hagrid"]
    },
    {
        "firstName": "Sherlock",
        "lastName": "Holmes",
        "number": "0487345643",
        "likes": ["Intriguing Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["JavaScript", "Gaming", "Foxes"]
    }
];


function lookUpProfile(name, prop) {
  
  for (var i=0 ; i<contacts.length ; i++){

    if (contacts[i].firstName == name && contacts[i].hasOwnProperty(prop)==true){
      return contacts[i][prop];
  }
    else if(contacts.firstName != name){
      return "No such contact";
  }
    else if(contacts.firstName == name && name.hasOwnProperty(prop) == false){
      return "No such property"
  }
  }
}

lookUpProfile("Akira", "likes");

9. Generate random fractions

Math.random(  ) => 0 <= n < 1  무작위의 n 을 출력하는 함수.
Math.floor( ) => 괄호안의 소수를 버림


10. parseInt ("숫자")

=> 문자열 형식(string)으로 적힌 숫자를 정수로 변환해 출력 (integer)

*** 문자열형식의 첫번째 문자가 숫자가 아니면 => NaN 을 출력한다.

- parseInt(string,radix)
=> string에 표현된 숫자를 정수로 바꾸어 radix에 해당하는 숫자의 진법으로 변환해서 값을 출력함..

 

- conditional operator ( = ternary operator)  : 삼항연산자

 a ? b : c 

a - 조건
a가 true인경우 -> b자리에 있는 코드가 실행된다.
a가 false인 경우 -> c자리에 있는 코드가 실행된다.

# example code

function findGreater(a,b){
 a>b ? "a is greater than b" : "a is smaller than b";
}

 

-> multiple conditional operator

( a ? b : c )
          (c ? d : e )

# example
function example (a,b){
   return (a==b)  ?  "yes"  (a>b)  "a is bigger"  "b is bigger" ;
}

function example(a,b){
	return (a==b) ? "a = b "
    : (a > b ) ? "a is bigger"
    : "b is bigger";
}

 

 

# 예제

 

freeCodeCamp.org

Learn to Code — For Free

www.freecodecamp.org

 

'ONLINE COURSES > JavaScript' 카테고리의 다른 글

FreeCodeCamp_JS_TIL_DAY3  (0) 2021.07.05
FreeCodeCamp_JS_TIL_DAY1  (0) 2021.06.23
DOM-3  (0) 2021.06.15
DOM-2  (0) 2021.06.14
DOM-1  (0) 2021.06.14

댓글