ПРИМИТИВНЫЕ ТИПЫ Flashcards
Примитивные типы
string (строка)
boolean (логический)-true or false -два значения .
Number :0.1 20 0 2,1
Null -это я сам ставлю переменой неопределенное значения и иногда это может пригодится
Undefined -неопределенный
Symbol -можно создавать уникальное значение !
Ссылочный тип
Примеры
Object -объект
0X3151>(
A:10
B-True
)
Это объект и в таком случае переменная содержит ссылку на данный объект со свойствами
0x7213> [1,2,3]
Это массив и здесь также переменная содержит массив
Может быть -две разных переменных , которые содержат один и тот же объект
Слова вызывающие переменные
Const -объявление с прививанием
Let - объявление переменной , которую можно в дальнейшем изменять и корректировать
Добавление нового свойства в объект ?
Пример
copy0fA.c= ‘abc’
Точка дает доступ к объекту !
И даже если это свойство отсутствует в объекте -оно будет создано !
Статическая типизация
String a= ‘abc’
int b=10
b=‘xyz’//Error
Это пример статической типизации -когда при указывание переменой также указывается тип этой переменной (string) integer-целое число и это тоже факт !
Динамическая типизация
a= ‘abc’//String
a=10 //Number
Объявлять данную переменную необходимо при помощи let -т.к строку необходимо менять в будущем.
JavaScript динамически типизированный язык , поэтому здесь ярко выражено , что переменная a может меняться .
Динамическая типизация
Функция
function a() {
console.log (Hey there’)
}
a() // ‘Hey there’
a = 10
a() //Uncaught TypeError: a is not a function
Вызов функции благодаря ()
Где a=10 - я изменил переменную и тем самым когда вызвал ее получил ошибку т.к это уже ни функция !
Const -может позволять избежать проблемы связанные с динамической типизацией !
Стрелочная функция
const.log ( ‘Hey there’)
a() // ‘Hey there’
a=10 //TypeError:
Assignment to constant variable
a ()
Объект ?
Объект имеет свойства , а если свойство имеет функцию , то называется метод !
Объект это ссылочный тип и переменную , которую я присваиваю содержит ссылку !
Объект записывается между фигурными скобками !
Между свойствами обязательно запятые .
Лучше объявлять Const , если я собираюсь делать переменную с объектом в значении !
Объект и получение свойств из объекта ?
Const myCity= {
city : ‘New York’,
popular:true,
country: ‘USA’
}
Чтобы получить какое-то свойство из объекта нужно .
console.log (my City.city) -к примеру и интерпретатор даст
// ‘New York’
Также можно получить
console.log (myCity.popular)
// true
Используя точечную запись изменить свойства объекта и даже если const работает
const myCity= {
city: ‘New York’
myCity. city = ‘Las Vegas ‘
console.log (myCity)
// {city: ‘Las Vegas’ }
Const касается переменной , а ни ее свойств!
Добавление новых свойств в объект
const myCity = {
city: ‘New York’
}
myCity.popular=true
console.log (myCity)
Должно вывести true
myCity.country= ‘USA’
console.log (myCity) -после данного вывода я получил три свойства в данном объекте:
Значение переменной ни меняется -именно поэтому обходим const !
//{city:’New York’,popular:true,country:USA}
Удаление свойства из объекта
const myCity= {
city: ‘New York’
popular:true,
country: ‘USA’
}
delete myCity.country
console.log(myCity)
Доступ к значению свойства с использованием скобок !
const myCity = {
city: ‘New York’
}
myCity [popular] = true
console.log (myCity)
// {city: ‘New York’, popular: true}
const countryPropertyName=‘country’
myCity [countryPropertyName]= ‘USA’
console.log(myCity)
// {city: ‘New York’,popular: true,country: ‘USA’}
Добавление свойства через квадратные скобки нужно если значение свойства является значением той-или иной переменной!
Also called : Bracket notation
Во втором примере : country имеется в значении и тем самым когда я объявляю значение тем же словом ,которое является значением другого свойства-надо делать через квадратные скобки !
Также можно совершать удаление через delete !
Объекты -вложенные свойства !?
const myCity= {
city: ‘New York,
info: {
isPopular:true,
country: ‘USA’
}
}
console.log(myCity.info.IsPopular)
//true
delete myCity.info [‘isPopular]
console.log(myCity)
// {city: ‘New York’,info:
{country: ‘USA’}}
В данном примере у объекта myCity есть свойство info, которое имеет в значении объект и этот объект уже имеет своих два свойство
isPopular:true,
country :’ USA’
Здесь иерархия объектов и чтобы дойти до isPopular, надо console.log( myCity.info.isPopular) две точки , чтобы добраться до данного объекта , который находится внутри объекта -как матрешка !
Внимание на запись с квадратными скобками ! И точечную запись .Но здесь квадратные скобки бесполезны т.к их нужно использовать когда в свойствах такое же название как и имя переменной !
Объекты использование переменных
const name = ‘Bogdan’
const postsQty=23
const userProfile= {
name: name,
postsQty: postsQty,
hasSignedAgreement: false-фолс
}
Здесь свойство и переменная имеют одинаковые значения -так вот , это можно не записывать ! Просто ставишь запятую и это считается дублированием .
Дубляж лучше первыми выставлять в объекте , чтобы бы было более понятней !
Глобальные объекты?
Window -присутствует в браузере
Global -такой объект присутствует в node.js
Унифицированный глобальный объект : globalThis- благодаря этой записи я получу из терминала также Глобал объект , а из интернет консоли window !
window.console.log(10) -я могу получать доступ к свойствам глобального объекта window .
Либо просто console.log (10) веб-браузер будет понимать , что я пытаюсь получить доступ к одному из свойств глобального объект window !
Методы
const myCity = {
city: ‘New York’
cityGreeting:function () {
console.log ( Greetings!!’)
}
}
myCity.cityGreeting()
Две скобки после функции -это опциональные скобки и между фигурными скобками находится тело функции!
И если у меня есть объект с таким методом , то вызов на нижней строке с опциональными скобками ☝️
Методы свойства объекта , которые содержат функции !
Вообще можно без ключевого слова function , а просто ставь опциональные скобки !
Запомни вызовы функции и свойств !
myCity.city
myCity.city Greeting()
Метод это тоже свойство -просто свойство с функцией это метод!