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";}
}
예제연습
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
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 예제
// 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";
}
# 예제
'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 |
댓글