преобразование строки. Вы можете преобразовать что угодно в строку с помощью метода string().

String(123); // output '123'
String(true); // output 'true'

числовое преобразование. Вы можете преобразовывать строки в числа с помощью метода Number() и другими способами.

console.log('12' / '3'); 
// output will be 4, strings automatically converted into number
console.log(12 / '4'); // output will be 3
console.log(Number('12')); output will be 12
console.log(Number('1234asb')); // will show NaN

преобразование логического значения – вы можете преобразовать его в логическое значение с помощью метода Boolean().

Boolean(1); // true
Boolean(0); // false
Boolean(""); //false
Boolean("something"); //true

конкатенация строк. Давайте посмотрим на магию оператора +.

const str = "hello" + " world";
console.log(str); // output will be "hello world"
//LETS HAVE SOME FUN
console.log(4 + '2'); //output will be '42'
console.log(4 + 3 + '2'); // output will be '72'
console.log(7 - '3'); 
//result will be 4 cause it will convert '3' to number

сила унарного + — Давайте посмотрим на магию унарного оператора +. Это не влияет на числа, но преобразует строку в число.

console.log(+true); // output 1
console.log(+false); // output 0
console.log(+"5"); // output will be 5
console.log(+"5" + +"5"); // output will be 10

сравнение строк — в javascript сравнение строк использует лексикографический порядок для сравнения строк. Он проверит, больше ли букв первой строки, чем букв второй строки. Если больше, он вернет true, иначе false.

console.log('A' < 'B'); //output will be true
console.log('Ant' > 'Bee'); // output will be false
console.log('5' > 4); // true, it'll convert '5' to 5

== & === оператор — в javascript == проверяет сходство двух данных, но не строго. С другой стороны === проверяет строго. Поясним это на примере —

console.log('1' == 1); // output true
console.log('1' === 1); // output false

null & undefined — в javascript null означает отсутствие данных. В javascript null — это объект, вы можете присвоить его переменной. Undefined означает, что переменная объявлена, но ей не присвоено значение. Давайте посмотрим на сравнение между этими двумя.

console.log(null == undefined); // output true
console.log(null === undefined); // output false

Область. В javascript есть два типа области действия. Один из них — глобальный, а другой — локальный. В JS каждая функция создает локальную область видимости. А глобальная область видимости — это объект окна.

Локальная переменная и глобальная переменная – переменные, объявленные внутри функции, называются локальными переменными. Локальная переменная недоступна снаружи этой или другой функции. Локальная переменная остается внутри этой конкретной функции. И переменная, объявленная в глобальной области видимости, является глобальной переменной. Глобальная переменная доступна из любого места, и любая функция может получить доступ к глобальным переменным.

var foo = 'hello'; // global variable
function sayHello() {
    var name = 'smith'; // local variable
    console.log(foo+name);
}
console.log(name); // show error